add service
All checks were successful
Deploy Smart Search Backend Test / deploy (push) Successful in 1m24s

This commit is contained in:
vallyenfail
2026-01-18 01:48:46 +03:00
parent b6f7323c58
commit 80e5f318a9
23 changed files with 2300 additions and 26 deletions

View File

@@ -41,6 +41,13 @@ type UserRepositoryMock struct {
beforeCreateCounter uint64
CreateMock mUserRepositoryMockCreate
funcCreateTx func(ctx context.Context, tx pgx.Tx, user *model.User) (err error)
funcCreateTxOrigin string
inspectFuncCreateTx func(ctx context.Context, tx pgx.Tx, user *model.User)
afterCreateTxCounter uint64
beforeCreateTxCounter uint64
CreateTxMock mUserRepositoryMockCreateTx
funcFindByEmailHash func(ctx context.Context, emailHash string) (up1 *model.User, err error)
funcFindByEmailHashOrigin string
inspectFuncFindByEmailHash func(ctx context.Context, emailHash string)
@@ -108,6 +115,9 @@ func NewUserRepositoryMock(t minimock.Tester) *UserRepositoryMock {
m.CreateMock = mUserRepositoryMockCreate{mock: m}
m.CreateMock.callArgs = []*UserRepositoryMockCreateParams{}
m.CreateTxMock = mUserRepositoryMockCreateTx{mock: m}
m.CreateTxMock.callArgs = []*UserRepositoryMockCreateTxParams{}
m.FindByEmailHashMock = mUserRepositoryMockFindByEmailHash{mock: m}
m.FindByEmailHashMock.callArgs = []*UserRepositoryMockFindByEmailHashParams{}
@@ -1193,6 +1203,379 @@ func (m *UserRepositoryMock) MinimockCreateInspect() {
}
}
type mUserRepositoryMockCreateTx struct {
optional bool
mock *UserRepositoryMock
defaultExpectation *UserRepositoryMockCreateTxExpectation
expectations []*UserRepositoryMockCreateTxExpectation
callArgs []*UserRepositoryMockCreateTxParams
mutex sync.RWMutex
expectedInvocations uint64
expectedInvocationsOrigin string
}
// UserRepositoryMockCreateTxExpectation specifies expectation struct of the UserRepository.CreateTx
type UserRepositoryMockCreateTxExpectation struct {
mock *UserRepositoryMock
params *UserRepositoryMockCreateTxParams
paramPtrs *UserRepositoryMockCreateTxParamPtrs
expectationOrigins UserRepositoryMockCreateTxExpectationOrigins
results *UserRepositoryMockCreateTxResults
returnOrigin string
Counter uint64
}
// UserRepositoryMockCreateTxParams contains parameters of the UserRepository.CreateTx
type UserRepositoryMockCreateTxParams struct {
ctx context.Context
tx pgx.Tx
user *model.User
}
// UserRepositoryMockCreateTxParamPtrs contains pointers to parameters of the UserRepository.CreateTx
type UserRepositoryMockCreateTxParamPtrs struct {
ctx *context.Context
tx *pgx.Tx
user **model.User
}
// UserRepositoryMockCreateTxResults contains results of the UserRepository.CreateTx
type UserRepositoryMockCreateTxResults struct {
err error
}
// UserRepositoryMockCreateTxOrigins contains origins of expectations of the UserRepository.CreateTx
type UserRepositoryMockCreateTxExpectationOrigins struct {
origin string
originCtx string
originTx string
originUser string
}
// Marks this method to be optional. The default behavior of any method with Return() is '1 or more', meaning
// the test will fail minimock's automatic final call check if the mocked method was not called at least once.
// Optional() makes method check to work in '0 or more' mode.
// It is NOT RECOMMENDED to use this option unless you really need it, as default behaviour helps to
// catch the problems when the expected method call is totally skipped during test run.
func (mmCreateTx *mUserRepositoryMockCreateTx) Optional() *mUserRepositoryMockCreateTx {
mmCreateTx.optional = true
return mmCreateTx
}
// Expect sets up expected params for UserRepository.CreateTx
func (mmCreateTx *mUserRepositoryMockCreateTx) Expect(ctx context.Context, tx pgx.Tx, user *model.User) *mUserRepositoryMockCreateTx {
if mmCreateTx.mock.funcCreateTx != nil {
mmCreateTx.mock.t.Fatalf("UserRepositoryMock.CreateTx mock is already set by Set")
}
if mmCreateTx.defaultExpectation == nil {
mmCreateTx.defaultExpectation = &UserRepositoryMockCreateTxExpectation{}
}
if mmCreateTx.defaultExpectation.paramPtrs != nil {
mmCreateTx.mock.t.Fatalf("UserRepositoryMock.CreateTx mock is already set by ExpectParams functions")
}
mmCreateTx.defaultExpectation.params = &UserRepositoryMockCreateTxParams{ctx, tx, user}
mmCreateTx.defaultExpectation.expectationOrigins.origin = minimock.CallerInfo(1)
for _, e := range mmCreateTx.expectations {
if minimock.Equal(e.params, mmCreateTx.defaultExpectation.params) {
mmCreateTx.mock.t.Fatalf("Expectation set by When has same params: %#v", *mmCreateTx.defaultExpectation.params)
}
}
return mmCreateTx
}
// ExpectCtxParam1 sets up expected param ctx for UserRepository.CreateTx
func (mmCreateTx *mUserRepositoryMockCreateTx) ExpectCtxParam1(ctx context.Context) *mUserRepositoryMockCreateTx {
if mmCreateTx.mock.funcCreateTx != nil {
mmCreateTx.mock.t.Fatalf("UserRepositoryMock.CreateTx mock is already set by Set")
}
if mmCreateTx.defaultExpectation == nil {
mmCreateTx.defaultExpectation = &UserRepositoryMockCreateTxExpectation{}
}
if mmCreateTx.defaultExpectation.params != nil {
mmCreateTx.mock.t.Fatalf("UserRepositoryMock.CreateTx mock is already set by Expect")
}
if mmCreateTx.defaultExpectation.paramPtrs == nil {
mmCreateTx.defaultExpectation.paramPtrs = &UserRepositoryMockCreateTxParamPtrs{}
}
mmCreateTx.defaultExpectation.paramPtrs.ctx = &ctx
mmCreateTx.defaultExpectation.expectationOrigins.originCtx = minimock.CallerInfo(1)
return mmCreateTx
}
// ExpectTxParam2 sets up expected param tx for UserRepository.CreateTx
func (mmCreateTx *mUserRepositoryMockCreateTx) ExpectTxParam2(tx pgx.Tx) *mUserRepositoryMockCreateTx {
if mmCreateTx.mock.funcCreateTx != nil {
mmCreateTx.mock.t.Fatalf("UserRepositoryMock.CreateTx mock is already set by Set")
}
if mmCreateTx.defaultExpectation == nil {
mmCreateTx.defaultExpectation = &UserRepositoryMockCreateTxExpectation{}
}
if mmCreateTx.defaultExpectation.params != nil {
mmCreateTx.mock.t.Fatalf("UserRepositoryMock.CreateTx mock is already set by Expect")
}
if mmCreateTx.defaultExpectation.paramPtrs == nil {
mmCreateTx.defaultExpectation.paramPtrs = &UserRepositoryMockCreateTxParamPtrs{}
}
mmCreateTx.defaultExpectation.paramPtrs.tx = &tx
mmCreateTx.defaultExpectation.expectationOrigins.originTx = minimock.CallerInfo(1)
return mmCreateTx
}
// ExpectUserParam3 sets up expected param user for UserRepository.CreateTx
func (mmCreateTx *mUserRepositoryMockCreateTx) ExpectUserParam3(user *model.User) *mUserRepositoryMockCreateTx {
if mmCreateTx.mock.funcCreateTx != nil {
mmCreateTx.mock.t.Fatalf("UserRepositoryMock.CreateTx mock is already set by Set")
}
if mmCreateTx.defaultExpectation == nil {
mmCreateTx.defaultExpectation = &UserRepositoryMockCreateTxExpectation{}
}
if mmCreateTx.defaultExpectation.params != nil {
mmCreateTx.mock.t.Fatalf("UserRepositoryMock.CreateTx mock is already set by Expect")
}
if mmCreateTx.defaultExpectation.paramPtrs == nil {
mmCreateTx.defaultExpectation.paramPtrs = &UserRepositoryMockCreateTxParamPtrs{}
}
mmCreateTx.defaultExpectation.paramPtrs.user = &user
mmCreateTx.defaultExpectation.expectationOrigins.originUser = minimock.CallerInfo(1)
return mmCreateTx
}
// Inspect accepts an inspector function that has same arguments as the UserRepository.CreateTx
func (mmCreateTx *mUserRepositoryMockCreateTx) Inspect(f func(ctx context.Context, tx pgx.Tx, user *model.User)) *mUserRepositoryMockCreateTx {
if mmCreateTx.mock.inspectFuncCreateTx != nil {
mmCreateTx.mock.t.Fatalf("Inspect function is already set for UserRepositoryMock.CreateTx")
}
mmCreateTx.mock.inspectFuncCreateTx = f
return mmCreateTx
}
// Return sets up results that will be returned by UserRepository.CreateTx
func (mmCreateTx *mUserRepositoryMockCreateTx) Return(err error) *UserRepositoryMock {
if mmCreateTx.mock.funcCreateTx != nil {
mmCreateTx.mock.t.Fatalf("UserRepositoryMock.CreateTx mock is already set by Set")
}
if mmCreateTx.defaultExpectation == nil {
mmCreateTx.defaultExpectation = &UserRepositoryMockCreateTxExpectation{mock: mmCreateTx.mock}
}
mmCreateTx.defaultExpectation.results = &UserRepositoryMockCreateTxResults{err}
mmCreateTx.defaultExpectation.returnOrigin = minimock.CallerInfo(1)
return mmCreateTx.mock
}
// Set uses given function f to mock the UserRepository.CreateTx method
func (mmCreateTx *mUserRepositoryMockCreateTx) Set(f func(ctx context.Context, tx pgx.Tx, user *model.User) (err error)) *UserRepositoryMock {
if mmCreateTx.defaultExpectation != nil {
mmCreateTx.mock.t.Fatalf("Default expectation is already set for the UserRepository.CreateTx method")
}
if len(mmCreateTx.expectations) > 0 {
mmCreateTx.mock.t.Fatalf("Some expectations are already set for the UserRepository.CreateTx method")
}
mmCreateTx.mock.funcCreateTx = f
mmCreateTx.mock.funcCreateTxOrigin = minimock.CallerInfo(1)
return mmCreateTx.mock
}
// When sets expectation for the UserRepository.CreateTx which will trigger the result defined by the following
// Then helper
func (mmCreateTx *mUserRepositoryMockCreateTx) When(ctx context.Context, tx pgx.Tx, user *model.User) *UserRepositoryMockCreateTxExpectation {
if mmCreateTx.mock.funcCreateTx != nil {
mmCreateTx.mock.t.Fatalf("UserRepositoryMock.CreateTx mock is already set by Set")
}
expectation := &UserRepositoryMockCreateTxExpectation{
mock: mmCreateTx.mock,
params: &UserRepositoryMockCreateTxParams{ctx, tx, user},
expectationOrigins: UserRepositoryMockCreateTxExpectationOrigins{origin: minimock.CallerInfo(1)},
}
mmCreateTx.expectations = append(mmCreateTx.expectations, expectation)
return expectation
}
// Then sets up UserRepository.CreateTx return parameters for the expectation previously defined by the When method
func (e *UserRepositoryMockCreateTxExpectation) Then(err error) *UserRepositoryMock {
e.results = &UserRepositoryMockCreateTxResults{err}
return e.mock
}
// Times sets number of times UserRepository.CreateTx should be invoked
func (mmCreateTx *mUserRepositoryMockCreateTx) Times(n uint64) *mUserRepositoryMockCreateTx {
if n == 0 {
mmCreateTx.mock.t.Fatalf("Times of UserRepositoryMock.CreateTx mock can not be zero")
}
mm_atomic.StoreUint64(&mmCreateTx.expectedInvocations, n)
mmCreateTx.expectedInvocationsOrigin = minimock.CallerInfo(1)
return mmCreateTx
}
func (mmCreateTx *mUserRepositoryMockCreateTx) invocationsDone() bool {
if len(mmCreateTx.expectations) == 0 && mmCreateTx.defaultExpectation == nil && mmCreateTx.mock.funcCreateTx == nil {
return true
}
totalInvocations := mm_atomic.LoadUint64(&mmCreateTx.mock.afterCreateTxCounter)
expectedInvocations := mm_atomic.LoadUint64(&mmCreateTx.expectedInvocations)
return totalInvocations > 0 && (expectedInvocations == 0 || expectedInvocations == totalInvocations)
}
// CreateTx implements mm_repository.UserRepository
func (mmCreateTx *UserRepositoryMock) CreateTx(ctx context.Context, tx pgx.Tx, user *model.User) (err error) {
mm_atomic.AddUint64(&mmCreateTx.beforeCreateTxCounter, 1)
defer mm_atomic.AddUint64(&mmCreateTx.afterCreateTxCounter, 1)
mmCreateTx.t.Helper()
if mmCreateTx.inspectFuncCreateTx != nil {
mmCreateTx.inspectFuncCreateTx(ctx, tx, user)
}
mm_params := UserRepositoryMockCreateTxParams{ctx, tx, user}
// Record call args
mmCreateTx.CreateTxMock.mutex.Lock()
mmCreateTx.CreateTxMock.callArgs = append(mmCreateTx.CreateTxMock.callArgs, &mm_params)
mmCreateTx.CreateTxMock.mutex.Unlock()
for _, e := range mmCreateTx.CreateTxMock.expectations {
if minimock.Equal(*e.params, mm_params) {
mm_atomic.AddUint64(&e.Counter, 1)
return e.results.err
}
}
if mmCreateTx.CreateTxMock.defaultExpectation != nil {
mm_atomic.AddUint64(&mmCreateTx.CreateTxMock.defaultExpectation.Counter, 1)
mm_want := mmCreateTx.CreateTxMock.defaultExpectation.params
mm_want_ptrs := mmCreateTx.CreateTxMock.defaultExpectation.paramPtrs
mm_got := UserRepositoryMockCreateTxParams{ctx, tx, user}
if mm_want_ptrs != nil {
if mm_want_ptrs.ctx != nil && !minimock.Equal(*mm_want_ptrs.ctx, mm_got.ctx) {
mmCreateTx.t.Errorf("UserRepositoryMock.CreateTx got unexpected parameter ctx, expected at\n%s:\nwant: %#v\n got: %#v%s\n",
mmCreateTx.CreateTxMock.defaultExpectation.expectationOrigins.originCtx, *mm_want_ptrs.ctx, mm_got.ctx, minimock.Diff(*mm_want_ptrs.ctx, mm_got.ctx))
}
if mm_want_ptrs.tx != nil && !minimock.Equal(*mm_want_ptrs.tx, mm_got.tx) {
mmCreateTx.t.Errorf("UserRepositoryMock.CreateTx got unexpected parameter tx, expected at\n%s:\nwant: %#v\n got: %#v%s\n",
mmCreateTx.CreateTxMock.defaultExpectation.expectationOrigins.originTx, *mm_want_ptrs.tx, mm_got.tx, minimock.Diff(*mm_want_ptrs.tx, mm_got.tx))
}
if mm_want_ptrs.user != nil && !minimock.Equal(*mm_want_ptrs.user, mm_got.user) {
mmCreateTx.t.Errorf("UserRepositoryMock.CreateTx got unexpected parameter user, expected at\n%s:\nwant: %#v\n got: %#v%s\n",
mmCreateTx.CreateTxMock.defaultExpectation.expectationOrigins.originUser, *mm_want_ptrs.user, mm_got.user, minimock.Diff(*mm_want_ptrs.user, mm_got.user))
}
} else if mm_want != nil && !minimock.Equal(*mm_want, mm_got) {
mmCreateTx.t.Errorf("UserRepositoryMock.CreateTx got unexpected parameters, expected at\n%s:\nwant: %#v\n got: %#v%s\n",
mmCreateTx.CreateTxMock.defaultExpectation.expectationOrigins.origin, *mm_want, mm_got, minimock.Diff(*mm_want, mm_got))
}
mm_results := mmCreateTx.CreateTxMock.defaultExpectation.results
if mm_results == nil {
mmCreateTx.t.Fatal("No results are set for the UserRepositoryMock.CreateTx")
}
return (*mm_results).err
}
if mmCreateTx.funcCreateTx != nil {
return mmCreateTx.funcCreateTx(ctx, tx, user)
}
mmCreateTx.t.Fatalf("Unexpected call to UserRepositoryMock.CreateTx. %v %v %v", ctx, tx, user)
return
}
// CreateTxAfterCounter returns a count of finished UserRepositoryMock.CreateTx invocations
func (mmCreateTx *UserRepositoryMock) CreateTxAfterCounter() uint64 {
return mm_atomic.LoadUint64(&mmCreateTx.afterCreateTxCounter)
}
// CreateTxBeforeCounter returns a count of UserRepositoryMock.CreateTx invocations
func (mmCreateTx *UserRepositoryMock) CreateTxBeforeCounter() uint64 {
return mm_atomic.LoadUint64(&mmCreateTx.beforeCreateTxCounter)
}
// Calls returns a list of arguments used in each call to UserRepositoryMock.CreateTx.
// The list is in the same order as the calls were made (i.e. recent calls have a higher index)
func (mmCreateTx *mUserRepositoryMockCreateTx) Calls() []*UserRepositoryMockCreateTxParams {
mmCreateTx.mutex.RLock()
argCopy := make([]*UserRepositoryMockCreateTxParams, len(mmCreateTx.callArgs))
copy(argCopy, mmCreateTx.callArgs)
mmCreateTx.mutex.RUnlock()
return argCopy
}
// MinimockCreateTxDone returns true if the count of the CreateTx invocations corresponds
// the number of defined expectations
func (m *UserRepositoryMock) MinimockCreateTxDone() bool {
if m.CreateTxMock.optional {
// Optional methods provide '0 or more' call count restriction.
return true
}
for _, e := range m.CreateTxMock.expectations {
if mm_atomic.LoadUint64(&e.Counter) < 1 {
return false
}
}
return m.CreateTxMock.invocationsDone()
}
// MinimockCreateTxInspect logs each unmet expectation
func (m *UserRepositoryMock) MinimockCreateTxInspect() {
for _, e := range m.CreateTxMock.expectations {
if mm_atomic.LoadUint64(&e.Counter) < 1 {
m.t.Errorf("Expected call to UserRepositoryMock.CreateTx at\n%s with params: %#v", e.expectationOrigins.origin, *e.params)
}
}
afterCreateTxCounter := mm_atomic.LoadUint64(&m.afterCreateTxCounter)
// if default expectation was set then invocations count should be greater than zero
if m.CreateTxMock.defaultExpectation != nil && afterCreateTxCounter < 1 {
if m.CreateTxMock.defaultExpectation.params == nil {
m.t.Errorf("Expected call to UserRepositoryMock.CreateTx at\n%s", m.CreateTxMock.defaultExpectation.returnOrigin)
} else {
m.t.Errorf("Expected call to UserRepositoryMock.CreateTx at\n%s with params: %#v", m.CreateTxMock.defaultExpectation.expectationOrigins.origin, *m.CreateTxMock.defaultExpectation.params)
}
}
// if func was set then invocations count should be greater than zero
if m.funcCreateTx != nil && afterCreateTxCounter < 1 {
m.t.Errorf("Expected call to UserRepositoryMock.CreateTx at\n%s", m.funcCreateTxOrigin)
}
if !m.CreateTxMock.invocationsDone() && afterCreateTxCounter > 0 {
m.t.Errorf("Expected %d calls to UserRepositoryMock.CreateTx at\n%s but found %d calls",
mm_atomic.LoadUint64(&m.CreateTxMock.expectedInvocations), m.CreateTxMock.expectedInvocationsOrigin, afterCreateTxCounter)
}
}
type mUserRepositoryMockFindByEmailHash struct {
optional bool
mock *UserRepositoryMock
@@ -3724,6 +4107,8 @@ func (m *UserRepositoryMock) MinimockFinish() {
m.MinimockCreateInspect()
m.MinimockCreateTxInspect()
m.MinimockFindByEmailHashInspect()
m.MinimockFindByIDInspect()
@@ -3763,6 +4148,7 @@ func (m *UserRepositoryMock) minimockDone() bool {
m.MinimockCheckInviteLimitDone() &&
m.MinimockCheckInviteLimitTxDone() &&
m.MinimockCreateDone() &&
m.MinimockCreateTxDone() &&
m.MinimockFindByEmailHashDone() &&
m.MinimockFindByIDDone() &&
m.MinimockGetBalanceDone() &&