//Would be revisiting to modify the actual way of call method. public void CaseHistoryControllerTest_Success() { // Arrange LidTypeEnum LIDType = LidTypeEnum.CustomerNbr; string LID = ""; PaginationCaseHistory page = new PaginationCaseHistory(); string ExtraId = null; int lid = 648988; int CaseID = 8715123; MockCaseHistoryRepository mockCaseHistoryRepository = new MockCaseHistoryRepository(); ApiResult <GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory> > expectedResult = mockCaseHistoryRepository.GetMockData(lid); IOptions <DataContext> optionsAccessor = Substitute.For <IOptions <DataContext> >(); IDatabaseConnectionFactory connectionFactory = Substitute.For <IDatabaseConnectionFactory>(); ICaseHistoryRepository mockRepo = Substitute.For <ICaseHistoryRepository>(); mockRepo.GetCaseHistoryInfo(LIDType, LID, ExtraId, page).ReturnsForAnyArgs(expectedResult.Result); // Act var caseHistory = mockRepo.GetCaseHistoryInfo(LIDType, "648988", ExtraId, page).Result; var actualRecord = (IList <Wp.CIS.LynkSystems.Model.CaseHistory>)caseHistory.ReturnedRecords; string caseInfo = actualRecord.Where(x => x.caseId == CaseID).FirstOrDefault().caseLevel; //// Assert Assert.Equal(((IList <Wp.CIS.LynkSystems.Model.CaseHistory>)actualRecord).Count, 6); Assert.Equal(caseInfo, "Customer"); }
public async Task CaseHistoryApiTest_Exception() { // Arrange LidTypeEnum LIDType = LidTypeEnum.CustomerNbr; string LID = ""; PaginationCaseHistory page = new PaginationCaseHistory(); int lid = 648988; string ExtraId = null; MockCaseHistoryRepository mockCaseHistoryRepository = new MockCaseHistoryRepository(); ApiResult <GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory> > expectedResult = mockCaseHistoryRepository.GetMockData(lid); IOptions <Settings> optionsAccessor = Substitute.For <IOptions <Settings> >(); ICaseHistoryRepository mockRepo = Substitute.For <ICaseHistoryRepository>(); ICaseHistoryApi casehistoryApi = Substitute.For <ICaseHistoryApi>(); IDistributedCache mockCache = Substitute.For <IDistributedCache>(); mockRepo.GetCaseHistoryInfo(LIDType, LID, ExtraId, page).Throws(new Exception()); casehistoryApi = new CaseHistoryApi(optionsAccessor, mockRepo); //Assert await Assert.ThrowsAsync <Exception>(() => casehistoryApi.GetCaseHistory(LIDType, LID, ExtraId, page)); }
//Mock API Call and unit test for the API call with returning mock ContactList. public async Task CaseHistoryControllerTest_Success() { // Arrange var page = GetCaseHistoryObject(); page.lidTypeEnum = LidTypeEnum.Terminal; page.LIDValue = "FakeStringID"; int lid = 648988; int CaseID = 8715123; string ExtraId = null; MockCaseHistoryRepository mockCaseHistoryRepository = new MockCaseHistoryRepository(); ApiResult <GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory> > expectedResult = mockCaseHistoryRepository.GetMockData(lid); ICaseHistoryRepository mockRepo = Substitute.For <ICaseHistoryRepository>(); IStringLocalizer <CaseHistoryController> localizer = Substitute.For <IStringLocalizer <CaseHistoryController> >(); ICaseHistoryApi caseHistoryApi = Substitute.For <ICaseHistoryApi>(); IDistributedCache mockCache = FakeCache(); IOperation fakeOperation = Substitute.ForPartsOf <Operation>(mockCache); fakeOperation.WhenForAnyArgs(x => x.RetrieveCache(Arg.Any <string>(), Arg.Any <ICollection <Wp.CIS.LynkSystems.Model.CaseHistory> >())).DoNotCallBase(); fakeOperation.WhenForAnyArgs(x => x.AddCacheAsync(Arg.Any <string>(), Arg.Any <ICollection <Wp.CIS.LynkSystems.Model.CaseHistory> >())).DoNotCallBase(); ILoggingFacade loggingFacade = Substitute.For <ILoggingFacade>(); loggingFacade.WhenForAnyArgs(x => x.LogAsync(Arg.Any <LogLevels>(), Arg.Any <string>(), Arg.Any <CancellationToken>())).DoNotCallBase(); CaseHistoryController controller = new CaseHistoryController(mockCache, caseHistoryApi, localizer, fakeOperation, loggingFacade); caseHistoryApi.GetCaseHistory(page.lidTypeEnum, page.LIDValue, ExtraId, page.Page).ReturnsForAnyArgs(expectedResult); // Act var casehistory = await controller.Get(page); var actualRecord = ((Microsoft.AspNetCore.Mvc.ObjectResult)casehistory).Value; string casehistoryInfo = ((IList <Wp.CIS.LynkSystems.Model.CaseHistory>) ((GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory>)actualRecord).ReturnedRecords).Where(x => x.caseId == CaseID).FirstOrDefault().orgDeptName; var recordCount = ((GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory>)actualRecord).ReturnedRecords; // Assert Assert.Equal(recordCount.ToList().Count, 6); Assert.Equal(casehistoryInfo, "Customer Care"); }
public CaseHistoriesController(ICaseHistoryRepository repository, IRepository <CaseHistoryDiagnosys> diagnosesRepository, IRepository <CaseHistoryAdmission> admissionRepository, IRepository <CaseHistoryRecord> recordsRepository, IRepository <RecordDiagnosys> recordDiagnosysRepository) { _repository = repository; _diagnosesRepository = diagnosesRepository; _admissionRepository = admissionRepository; _recordsRepository = recordsRepository; _recordDiagnosysRepository = recordDiagnosysRepository; }
public CaseHistoriesController(IStringLocalizer <Resources> localizer, ICaseHistoryRepository repository) { _localizer = localizer; _repository = repository; }
public CaseHistoryApi(IOptions <Settings> optionsAccessor, ICaseHistoryRepository casehistoryRepository) { _casehistoryrepository = casehistoryRepository; //_maxresultset = optionsAccessor.Value.MaxNumberOfRecordsToReturn; }