public async Task DashboardInfoControllerTest_GetDashBoardInfoSearch_GetAnException() { // Arrange MockDashboardInfoRepository repository = new MockDashboardInfoRepository(); var expectedResult = repository.GetMockTerminalData(); IDashboardInfoRepository mockRepo = FakeRepository(); IDistributedCache _cache = FakeCache(); IDistributedCache mockCache = Substitute.For <IDistributedCache>(); IStringLocalizer <DashboardInfoController> localizer = Substitute.For <IStringLocalizer <DashboardInfoController> >(); string key = "GetDashboardInfoErrorMessage"; string value = "Test Localized String"; var localizedString = new LocalizedString(key, value); localizer[Arg.Any <string>()].ReturnsForAnyArgs(localizedString); IOperation fakeOperation = FakeOperation(_cache); IOptions <Settings> appSettings = Substitute.For <IOptions <Settings> >(); ILoggingFacade fakeLogger = FakeLogger(); IDashboardInfoApi dAPI = new DashboardInfoApi(appSettings, mockRepo); dAPI.GetDashboardSearchResultsPagination(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, 0).Throws(new Exception()); DashboardInfoController controller = FakeController(dAPI, mockRepo, _cache, fakeOperation, fakeLogger); // Act var dinfo = await controller.GetDashBoardInfoSearch(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, "0"); var actualRecord = ((Microsoft.AspNetCore.Mvc.ObjectResult)dinfo); // Assert Assert.Equal(actualRecord.StatusCode, 500); Assert.Equal(actualRecord.Value, "Test Localized String"); }
public void DashboardInfoControllerTest_GetDashBoardInfoSearch_ModelState_Invalid() { //Arrange int lid = 589547; MockDashboardInfoRepository repository = new MockDashboardInfoRepository(); var expectedResult = repository.GetMockTerminalData(); IDashboardInfoRepository mockRepo = FakeRepository(); IDistributedCache _cache = FakeCache(); IOperation fakeOperation = FakeOperation(_cache); ILoggingFacade fakeLogger = FakeLogger(); IDashboardInfoApi dAPI = Substitute.For <IDashboardInfoApi>(); fakeOperation.WhenForAnyArgs(x => x.RetrieveCache(Arg.Any <string>(), Arg.Any <Wp.CIS.LynkSystems.Model.DashboardInfo>())).DoNotCallBase(); dAPI.GetDashboardSearchResults(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, lid).ReturnsForAnyArgs(expectedResult); DashboardInfoController controller = FakeController(dAPI, mockRepo, _cache, fakeOperation, fakeLogger); //Act controller.ModelState.AddModelError("key", "error message"); var dinfo = controller.GetDashBoardInfoSearch(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, Convert.ToString(lid)).Result; //Assert Assert.Equal(((Microsoft.AspNetCore.Mvc.ObjectResult)dinfo).StatusCode.ToString(), "400"); }
public async Task DashboardInfoControllerTest_GetDashBoardInfoSearch_Success() { // Arrange int lid = 589547; MockDashboardInfoRepository repository = new MockDashboardInfoRepository(); var expectedResult = repository.GetMockCustomerData(); IDashboardInfoRepository mockRepo = FakeRepository(); IDistributedCache _cache = FakeCache(); IOperation fakeOperation = FakeOperation(_cache); ILoggingFacade fakeLogger = FakeLogger(); IDashboardInfoApi dAPI = Substitute.For <IDashboardInfoApi>(); dAPI.GetDashboardSearchResultsPagination(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.CustomerNbr, lid).ReturnsForAnyArgs(expectedResult); DashboardInfoController controller = FakeController(dAPI, mockRepo, _cache, fakeOperation, fakeLogger); // Act var dinfo = await controller.GetDashBoardInfoSearch(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.CustomerNbr, Convert.ToString(lid)); var actualRecord = ((Microsoft.AspNetCore.Mvc.ObjectResult)dinfo).Value; // Assert Assert.Equal(((Wp.CIS.LynkSystems.Model.DashboardInfo)actualRecord).DemographicsInfoCust, repository.custDemographicsList); }