//Would be revisiting to modify the actual way of call method. public void TestTerminalListRepositoryTest_Success_Old() { // Arrange string terminalNbr = "589587"; string tid = "LK429486"; MockTerminalListRepository mockTerminalListRepository = new MockTerminalListRepository(); ApiResult <ICollection <Terminal> > expectedResult = mockTerminalListRepository.GetMockData(terminalNbr); ILoggingFacade loggingFacade = Substitute.For <ILoggingFacade>(); loggingFacade.WhenForAnyArgs(x => x.LogAsync(Arg.Any <LogLevels>(), Arg.Any <string>(), Arg.Any <CancellationToken>())).DoNotCallBase(); IOptions <DataContext> optionsAccessor = Substitute.For <IOptions <DataContext> >(); IDatabaseConnectionFactory connectionFactory = Substitute.For <IDatabaseConnectionFactory>(); ITerminalListRepository mockRepo = Substitute.For <ITerminalListRepository>(); mockRepo.GetTerminalListAsync(Convert.ToInt32(terminalNbr)).ReturnsForAnyArgs(expectedResult.Result); // Act var merchList = mockRepo.GetTerminalListAsync(Convert.ToInt32(terminalNbr)).Result; var actualRecord = (IList <Wp.CIS.LynkSystems.Model.Terminal>)merchList; string merchInfo = actualRecord.Where(x => x.TerminalID == tid).FirstOrDefault().Software; //// Assert Assert.Equal(((IList <Terminal>)actualRecord).Count, 1); Assert.Equal(merchInfo, "LSPR3271"); }
///Unit Test for the RetrieveCache() public async Task MerchantListControllerTest_GetDataFromCache_Old() { string TerminalNbr = "589587"; MockTerminalListRepository mockTerminalListRepository = new MockTerminalListRepository(); ApiResult <ICollection <Terminal> > expectedResult = mockTerminalListRepository.GetMockData(TerminalNbr); IDistributedCache mockCache = Substitute.For <IDistributedCache>(); ITerminalListRepository mockRepo = Substitute.For <ITerminalListRepository>(); IStringLocalizer <TerminalListController> localizer = Substitute.For <IStringLocalizer <TerminalListController> >(); ITerminalListApi mockTerminalListApi = Substitute.For <ITerminalListApi>(); ILoggingFacade loggingFacade = Substitute.For <ILoggingFacade>(); loggingFacade.WhenForAnyArgs(x => x.LogAsync(Arg.Any <LogLevels>(), Arg.Any <string>(), Arg.Any <CancellationToken>())).DoNotCallBase(); IOperation fakeOperation = Substitute.For <Operation>(mockCache); fakeOperation.WhenForAnyArgs(x => x.RetrieveCache(Arg.Any <string>(), Arg.Any <ICollection <Terminal> >())).DoNotCallBase(); fakeOperation.RetrieveCache("FakeStringID", new List <Terminal>()).ReturnsForAnyArgs(expectedResult.Result); TerminalListController controller = new TerminalListController(mockCache, mockTerminalListApi, localizer, fakeOperation, loggingFacade); //ACT var terminalList = await controller.GetTerminalList(Convert.ToInt32(TerminalNbr)); var actualRecord = ((Microsoft.AspNetCore.Mvc.ObjectResult)terminalList).Value; //Assert Assert.Equal(JsonConvert.SerializeObject(actualRecord), JsonConvert.SerializeObject(expectedResult.Result)); }
//Would be revisiting to modify the actual way of call method. public void TestTerminalListRepositoryTest_Success() { // Arrange int terminalNbr = 589587; string tid = "LK429486"; MockTerminalListRepository mockTerminalListRepository = new MockTerminalListRepository(); ApiResult <GenericPaginationResponse <Terminal> > expectedResult = mockTerminalListRepository.GetMockData(terminalNbr); PaginationTerminal page = mockTerminalListRepository.GetPagination(); IOptions <DataContext> optionsAccessor = Substitute.For <IOptions <DataContext> >(); IDatabaseConnectionFactory connectionFactory = Substitute.For <IDatabaseConnectionFactory>(); ITerminalListRepository mockRepo = Substitute.For <ITerminalListRepository>(); mockRepo.GetTerminalListAsync(terminalNbr, page).ReturnsForAnyArgs(expectedResult.Result); // Act var terminalList = mockRepo.GetTerminalListAsync(terminalNbr, page).Result; var actualRecord = (IList <Wp.CIS.LynkSystems.Model.Terminal>)terminalList.ReturnedRecords; string merchInfo = actualRecord.Where(x => x.TerminalID == tid).FirstOrDefault().Software; //// Assert Assert.Equal(((IList <Terminal>)actualRecord).Count, 1); Assert.Equal(merchInfo, "LSPR3271"); }
public async Task TerminalListApiTest_GetAnException() { // Arrange int TerminalNbr = 589587; MockTerminalListRepository mockTerminalListRepository = new MockTerminalListRepository(); ApiResult <GenericPaginationResponse <Terminal> > expectedResult = mockTerminalListRepository.GetMockData(TerminalNbr); PaginationTerminal page = mockTerminalListRepository.GetPagination(); IOptions <Settings> optionsAccessor = Substitute.For <IOptions <Settings> >(); ITerminalListRepository mockRepo = Substitute.For <ITerminalListRepository>(); IDistributedCache mockCache = Substitute.For <IDistributedCache>(); ILoggingFacade loggingFacade = Substitute.For <ILoggingFacade>(); loggingFacade.WhenForAnyArgs(x => x.LogAsync(Arg.Any <LogLevels>(), Arg.Any <string>(), Arg.Any <CancellationToken>())).DoNotCallBase(); ITerminalListApi terminalListApi = Substitute.For <ITerminalListApi>(); terminalListApi.WhenForAnyArgs(x => x.GetTerminalListAsync(Arg.Any <int>(), Arg.Any <PaginationTerminal>())).DoNotCallBase(); mockRepo.GetTerminalListAsync(TerminalNbr, page).Throws(new Exception()); terminalListApi = new TerminalListApi(optionsAccessor, mockRepo, loggingFacade); // Act var terminalList = await terminalListApi.GetTerminalListAsync(TerminalNbr, page); // Assert Assert.Equal(((IList <string>)terminalList.ErrorMessages).First(), "InternalServerError"); }
public async Task TerminalListApiTest_GetAnException_Old() { // Arrange string TerminalNbr = "589587"; MockTerminalListRepository mockTerminalListRepository = new MockTerminalListRepository(); ApiResult <ICollection <Terminal> > expectedResult = mockTerminalListRepository.GetMockData(TerminalNbr); IOptions <Settings> optionsAccessor = Substitute.For <IOptions <Settings> >(); ITerminalListRepository mockRepo = Substitute.For <ITerminalListRepository>(); IDistributedCache mockCache = Substitute.For <IDistributedCache>(); ILoggingFacade loggingFacade = Substitute.For <ILoggingFacade>(); loggingFacade.WhenForAnyArgs(x => x.LogAsync(Arg.Any <LogLevels>(), Arg.Any <string>(), Arg.Any <CancellationToken>())).DoNotCallBase(); ITerminalListApi terminalListApi = Substitute.For <ITerminalListApi>(); terminalListApi.WhenForAnyArgs(x => x.GetTerminalListAsync(Arg.Any <int>())).DoNotCallBase(); mockRepo.GetTerminalListAsync(Convert.ToInt32(TerminalNbr)).Throws(new Exception()); terminalListApi = new TerminalListApi(optionsAccessor, mockRepo, loggingFacade); //Assert await Assert.ThrowsAsync <Exception>(() => terminalListApi.GetTerminalListAsync(Convert.ToInt32(TerminalNbr))); }
/// <summary> /// /// </summary> /// <param name="optionsAccessor"></param> /// <param name="terminalRepository"></param> public TerminalListApi(IOptions <Settings> optionsAccessor, ITerminalListRepository terminalRepository, ILoggingFacade loggingFacade) { _loggingFacade = loggingFacade; _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Starting Terminal List Controller", "TerminalListApi.cs", "TerminalListApi"), CancellationToken.None); _terminalRepository = terminalRepository; }
///Unit Test for the RetrieveCache() public async Task MerchantListControllerTest_GetDataFromCache() { int TerminalNbr = 589587; MockTerminalListRepository mockTerminalListRepository = new MockTerminalListRepository(); ApiResult <GenericPaginationResponse <Terminal> > expectedResult = mockTerminalListRepository.GetMockData(TerminalNbr); PaginationTerminal page = mockTerminalListRepository.GetPagination(); TerminalListInput pageinput = new TerminalListInput(); pageinput.LIDValue = TerminalNbr.ToString(); pageinput.lidTypeEnum = Wp.CIS.LynkSystems.Model.Enums.LidTypeEnum.Customer; pageinput.Page = page; IDistributedCache mockCache = Substitute.For <IDistributedCache>(); ITerminalListRepository mockRepo = Substitute.For <ITerminalListRepository>(); IStringLocalizer <TerminalListController> localizer = Substitute.For <IStringLocalizer <TerminalListController> >(); ITerminalListApi mockTerminalListApi = Substitute.For <ITerminalListApi>(); ILoggingFacade loggingFacade = Substitute.For <ILoggingFacade>(); loggingFacade.WhenForAnyArgs(x => x.LogAsync(Arg.Any <LogLevels>(), Arg.Any <string>(), Arg.Any <CancellationToken>())).DoNotCallBase(); IOperation fakeOperation = Substitute.For <Operation>(mockCache); fakeOperation.WhenForAnyArgs(x => x.RetrieveCache(Arg.Any <string>(), Arg.Any <ICollection <Terminal> >())).DoNotCallBase(); fakeOperation.RetrieveCache("FakeStringID", new GenericPaginationResponse <Terminal>()).ReturnsForAnyArgs(expectedResult.Result); TerminalListController controller = new TerminalListController(mockCache, mockTerminalListApi, localizer, fakeOperation, loggingFacade); //ACT var terminalList = await controller.GetTerminalList(pageinput); var actualRecord = ((Microsoft.AspNetCore.Mvc.ObjectResult)terminalList).Value; //Assert Assert.Equal(JsonConvert.SerializeObject(actualRecord), JsonConvert.SerializeObject(expectedResult.Result)); }
public void TerminalListApiTest_Success() { // Arrange int TerminalNbr = 589587; string TerminalID = "LK429486"; MockTerminalListRepository mockTerminalListRepository = new MockTerminalListRepository(); ApiResult <GenericPaginationResponse <Terminal> > expectedResult = mockTerminalListRepository.GetMockData(TerminalNbr); PaginationTerminal page = mockTerminalListRepository.GetPagination(); IOptions <Settings> optionsAccessor = Substitute.For <IOptions <Settings> >(); ITerminalListRepository mockRepo = Substitute.For <ITerminalListRepository>(); ILoggingFacade loggingFacade = Substitute.For <ILoggingFacade>(); loggingFacade.WhenForAnyArgs(x => x.LogAsync(Arg.Any <LogLevels>(), Arg.Any <string>(), Arg.Any <CancellationToken>())).DoNotCallBase(); ITerminalListApi mockTerminalListApi = Substitute.For <ITerminalListApi>(); mockTerminalListApi.WhenForAnyArgs(x => x.GetTerminalListAsync(Arg.Any <int>(), Arg.Any <PaginationTerminal>())).DoNotCallBase(); mockRepo.GetTerminalListAsync(TerminalNbr, page).ReturnsForAnyArgs(expectedResult.Result); mockTerminalListApi = new TerminalListApi(optionsAccessor, mockRepo, loggingFacade); // Act var terminalList = mockTerminalListApi.GetTerminalListAsync(TerminalNbr, page).Result; var actualRecord = (IList <Wp.CIS.LynkSystems.Model.Terminal>)terminalList.Result.ReturnedRecords; string merchInfo = actualRecord.Where(x => x.TerminalID == TerminalID).FirstOrDefault().Software; //// Assert Assert.Equal(((IList <Terminal>)actualRecord).Count, 1); Assert.Equal(merchInfo, "LSPR3271"); }