Skip to content

Commit f5f5370

Browse files
fix tests: mock "On()" expect "anything" not a specific instance of context
1 parent 3d15f9e commit f5f5370

File tree

1 file changed

+28
-26
lines changed

1 file changed

+28
-26
lines changed

usecases/ai_agent/async_case_review_test.go

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ func (suite *CaseReviewWorkerTestSuite) TestGetPreviousCaseReviewContext_Invalid
230230
ReadCloser: mockReader,
231231
}
232232

233-
suite.blobRepo.On("GetBlob", suite.ctx, "test-bucket-url", aiCaseReview.FileTempReference).
233+
suite.blobRepo.On("GetBlob", mock.Anything, "test-bucket-url", aiCaseReview.FileTempReference).
234234
Return(blob, nil)
235235

236236
// Call the method under test
@@ -257,14 +257,14 @@ func (suite *CaseReviewWorkerTestSuite) TestWork_Success() {
257257
// Setup mocks
258258
suite.executorFactory.On("NewExecutor").Return(suite.exec)
259259

260-
suite.workerRepo.On("GetCaseById", suite.ctx, suite.exec, args.CaseId.String()).
260+
suite.workerRepo.On("GetCaseById", mock.Anything, suite.exec, args.CaseId.String()).
261261
Return(testCase, nil)
262262

263-
suite.workerRepo.On("GetCaseReviewById", suite.ctx, suite.exec, args.AiCaseReviewId).
263+
suite.workerRepo.On("GetCaseReviewById", mock.Anything, suite.exec, args.AiCaseReviewId).
264264
Return(aiCaseReview, nil)
265265

266266
// Mock getPreviousCaseReviewContext - return error to get empty context
267-
suite.blobRepo.On("GetBlob", suite.ctx, "test-bucket-url", aiCaseReview.FileTempReference).
267+
suite.blobRepo.On("GetBlob", mock.Anything, "test-bucket-url", aiCaseReview.FileTempReference).
268268
Return(models.Blob{}, errors.New("file not found"))
269269

270270
// Mock successful case review creation
@@ -277,21 +277,22 @@ func (suite *CaseReviewWorkerTestSuite) TestWork_Success() {
277277
Proofs: []agent_dto.CaseReviewProof{},
278278
}
279279

280-
suite.caseReviewUsecase.On("CreateCaseReviewSync", suite.ctx, args.CaseId.String(),
280+
suite.caseReviewUsecase.On("CreateCaseReviewSync", mock.Anything, args.CaseId.String(),
281281
mock.AnythingOfType("*ai_agent.CaseReviewContext")).
282282
Return(expectedDto, nil)
283283

284284
// Mock HasAiCaseReviewEnabled to return true
285-
suite.caseReviewUsecase.On("HasAiCaseReviewEnabled", suite.ctx, org.Id).
285+
suite.caseReviewUsecase.On("HasAiCaseReviewEnabled", mock.Anything, org.Id).
286286
Return(true, nil)
287287

288288
// Mock blob storage for final result
289289
mockWriter := newMockWriteCloser()
290-
suite.blobRepo.On("OpenStream", suite.ctx, "test-bucket-url", aiCaseReview.FileReference, aiCaseReview.FileReference).
290+
suite.blobRepo.On("OpenStream", mock.Anything, "test-bucket-url",
291+
aiCaseReview.FileReference, aiCaseReview.FileReference).
291292
Return(mockWriter, nil)
292293

293294
// Mock successful status update
294-
suite.workerRepo.On("UpdateCaseReviewFile", suite.ctx, suite.exec, aiCaseReview.Id, models.UpdateAiCaseReview{
295+
suite.workerRepo.On("UpdateCaseReviewFile", mock.Anything, suite.exec, aiCaseReview.Id, models.UpdateAiCaseReview{
295296
Status: models.AiCaseReviewStatusCompleted,
296297
}).Return(nil)
297298

@@ -325,10 +326,10 @@ func (suite *CaseReviewWorkerTestSuite) TestWork_CreateCaseReviewSyncError() {
325326
// Setup mocks for initial calls
326327
suite.executorFactory.On("NewExecutor").Return(suite.exec)
327328

328-
suite.workerRepo.On("GetCaseById", suite.ctx, suite.exec, args.CaseId.String()).
329+
suite.workerRepo.On("GetCaseById", mock.Anything, suite.exec, args.CaseId.String()).
329330
Return(testCase, nil)
330331

331-
suite.workerRepo.On("GetCaseReviewById", suite.ctx, suite.exec, args.AiCaseReviewId).
332+
suite.workerRepo.On("GetCaseReviewById", mock.Anything, suite.exec, args.AiCaseReviewId).
332333
Return(aiCaseReview, nil)
333334

334335
// Mock getPreviousCaseReviewContext - return some context
@@ -341,25 +342,25 @@ func (suite *CaseReviewWorkerTestSuite) TestWork_CreateCaseReviewSyncError() {
341342
FileName: aiCaseReview.FileTempReference,
342343
ReadCloser: mockReader,
343344
}
344-
suite.blobRepo.On("GetBlob", suite.ctx, "test-bucket-url", aiCaseReview.FileTempReference).
345+
suite.blobRepo.On("GetBlob", mock.Anything, "test-bucket-url", aiCaseReview.FileTempReference).
345346
Return(blob, nil)
346347

347348
// Mock failed case review creation
348-
suite.caseReviewUsecase.On("CreateCaseReviewSync", suite.ctx, args.CaseId.String(),
349+
suite.caseReviewUsecase.On("CreateCaseReviewSync", mock.Anything, args.CaseId.String(),
349350
mock.AnythingOfType("*ai_agent.CaseReviewContext")).
350351
Return(nil, errors.New("AI service unavailable"))
351352

352-
suite.caseReviewUsecase.On("HasAiCaseReviewEnabled", suite.ctx, org.Id).
353+
suite.caseReviewUsecase.On("HasAiCaseReviewEnabled", mock.Anything, org.Id).
353354
Return(true, nil)
354355

355356
// Mock blob storage for context save (during error handling)
356357
mockWriter := newMockWriteCloser()
357-
suite.blobRepo.On("OpenStream", suite.ctx, "test-bucket-url",
358+
suite.blobRepo.On("OpenStream", mock.Anything, "test-bucket-url",
358359
aiCaseReview.FileTempReference, aiCaseReview.FileTempReference).
359360
Return(mockWriter, nil)
360361

361362
// Mock failed status update
362-
suite.workerRepo.On("UpdateCaseReviewFile", suite.ctx, suite.exec, aiCaseReview.Id, models.UpdateAiCaseReview{
363+
suite.workerRepo.On("UpdateCaseReviewFile", mock.Anything, suite.exec, aiCaseReview.Id, models.UpdateAiCaseReview{
363364
Status: models.AiCaseReviewStatusFailed,
364365
}).Return(nil)
365366

@@ -396,10 +397,10 @@ func (suite *CaseReviewWorkerTestSuite) TestWork_OrganizationNotEnabled() {
396397
// Setup mocks
397398
suite.executorFactory.On("NewExecutor").Return(suite.exec)
398399

399-
suite.workerRepo.On("GetCaseById", suite.ctx, suite.exec, args.CaseId.String()).
400+
suite.workerRepo.On("GetCaseById", mock.Anything, suite.exec, args.CaseId.String()).
400401
Return(testCase, nil)
401402

402-
suite.caseReviewUsecase.On("HasAiCaseReviewEnabled", suite.ctx, org.Id).
403+
suite.caseReviewUsecase.On("HasAiCaseReviewEnabled", mock.Anything, org.Id).
403404
Return(false, nil)
404405

405406
// Call the method under test
@@ -424,7 +425,7 @@ func (suite *CaseReviewWorkerTestSuite) TestWork_GetCaseError() {
424425
// Setup mocks
425426
suite.executorFactory.On("NewExecutor").Return(suite.exec)
426427

427-
suite.workerRepo.On("GetCaseById", suite.ctx, suite.exec, args.CaseId.String()).
428+
suite.workerRepo.On("GetCaseById", mock.Anything, suite.exec, args.CaseId.String()).
428429
Return(models.Case{}, errors.New("case not found"))
429430

430431
// Call the method under test
@@ -451,14 +452,14 @@ func (suite *CaseReviewWorkerTestSuite) TestWork_BlobStreamError() {
451452
// Setup mocks for initial calls
452453
suite.executorFactory.On("NewExecutor").Return(suite.exec)
453454

454-
suite.workerRepo.On("GetCaseById", suite.ctx, suite.exec, args.CaseId.String()).
455+
suite.workerRepo.On("GetCaseById", mock.Anything, suite.exec, args.CaseId.String()).
455456
Return(testCase, nil)
456457

457-
suite.workerRepo.On("GetCaseReviewById", suite.ctx, suite.exec, args.AiCaseReviewId).
458+
suite.workerRepo.On("GetCaseReviewById", mock.Anything, suite.exec, args.AiCaseReviewId).
458459
Return(aiCaseReview, nil)
459460

460461
// Mock getPreviousCaseReviewContext
461-
suite.blobRepo.On("GetBlob", suite.ctx, "test-bucket-url", aiCaseReview.FileTempReference).
462+
suite.blobRepo.On("GetBlob", mock.Anything, "test-bucket-url", aiCaseReview.FileTempReference).
462463
Return(models.Blob{}, errors.New("file not found"))
463464

464465
// Mock successful case review creation
@@ -467,25 +468,26 @@ func (suite *CaseReviewWorkerTestSuite) TestWork_BlobStreamError() {
467468
Output: "Case review completed successfully",
468469
}
469470

470-
suite.caseReviewUsecase.On("CreateCaseReviewSync", suite.ctx, args.CaseId.String(),
471+
suite.caseReviewUsecase.On("CreateCaseReviewSync", mock.Anything, args.CaseId.String(),
471472
mock.AnythingOfType("*ai_agent.CaseReviewContext")).
472473
Return(expectedDto, nil)
473474

474-
suite.caseReviewUsecase.On("HasAiCaseReviewEnabled", suite.ctx, org.Id).
475+
suite.caseReviewUsecase.On("HasAiCaseReviewEnabled", mock.Anything, org.Id).
475476
Return(true, nil)
476477

477478
// Mock blob storage failure for final result
478-
suite.blobRepo.On("OpenStream", suite.ctx, "test-bucket-url", aiCaseReview.FileReference, aiCaseReview.FileReference).
479+
suite.blobRepo.On("OpenStream", mock.Anything, "test-bucket-url",
480+
aiCaseReview.FileReference, aiCaseReview.FileReference).
479481
Return(nil, errors.New("blob storage unavailable"))
480482

481483
// Mock error handling - blob storage for context save
482484
mockWriter := newMockWriteCloser()
483-
suite.blobRepo.On("OpenStream", suite.ctx, "test-bucket-url",
485+
suite.blobRepo.On("OpenStream", mock.Anything, "test-bucket-url",
484486
aiCaseReview.FileTempReference, aiCaseReview.FileTempReference).
485487
Return(mockWriter, nil)
486488

487489
// Mock failed status update
488-
suite.workerRepo.On("UpdateCaseReviewFile", suite.ctx, suite.exec, aiCaseReview.Id, models.UpdateAiCaseReview{
490+
suite.workerRepo.On("UpdateCaseReviewFile", mock.Anything, suite.exec, aiCaseReview.Id, models.UpdateAiCaseReview{
489491
Status: models.AiCaseReviewStatusFailed,
490492
}).Return(nil)
491493

0 commit comments

Comments
 (0)