package test

import (
	"github.com/pingcap/dbaas/billing2/billing_errors"
	"github.com/pingcap/dbaas/billing2/db"
	"github.com/pingcap/dbaas/billing2/db/entity"
	"github.com/pingcap/dbaas/billing2/utils/pp"
	"github.com/pingcap/dbaas/billing2/utils/tests"
	"github.com/stretchr/testify/suite"
	"testing"
)

type ErrorUtilsTestSuite struct {
	tests.BillingTestSuite
}

func (suite *ErrorUtilsTestSuite) SetupTest() {
	suite.BillingTestSuite.SetupTest()
}

func TestErrorUtilsTestSuite(t *testing.T) {
	suite.Run(t, new(ErrorUtilsTestSuite))
}
func (suite *ErrorUtilsTestSuite) TestWrapQuerySetError() {
	assert := suite.Assert()

	suite.BillingTestSuite.SetupTest()
	costEntity := &entity.UserUnitCost{
		CostID:   "111",
		TenantID: 1,
		Unit:     "test",
		Cost:     1,
		Status:   entity.UserUnitCostStatus_INIT}
	err := costEntity.Create(db.GetDB())
	pp.Print(err)

	assert.NoError(err)
	err = costEntity.Create(db.GetDB())
	pp.Print(err)
	assert.ErrorIs(err, billing_errors.DuplicateRequestError)
}
