public async Task MemoInfoControllerTest_TerminalSuccess() { // Arrange int lid = 589547; MockMemoInfoRepository repository = new MockMemoInfoRepository(); var expectedResult = repository.GetMockMemoInfo(); IMemoInfoRepository mockRepo = FakeRepository(); IDistributedCache _cache = FakeCache(); IOperation fakeOperation = FakeOperation(_cache); ILoggingFacade fakeLogger = FakeLogger(); IMemoInfoApi dAPI = Substitute.For <IMemoInfoApi>(); dAPI.GetMemoResults(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, lid).ReturnsForAnyArgs(expectedResult); MemoInfoController controller = FakeController(dAPI, _cache, fakeOperation, fakeLogger); // Act var dinfo = await controller.Get(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, lid); var actualRecord = ((Microsoft.AspNetCore.Mvc.ObjectResult)dinfo).Value; // Assert Assert.Equal(((Wp.CIS.LynkSystems.Model.MemoList)actualRecord), expectedResult.Result); }
private MemoInfoController FakeController(IMemoInfoApi dashboardInfo, IDistributedCache mockCache, IOperation fakeOperation, ILoggingFacade fakeLogger) { var localizer = new MockStringLocalizer <MemoInfoController>(); localizer[0] = new LocalizedString("GetMemoInfoErrorMessage", "Error occured"); return(new MemoInfoController(mockCache, dashboardInfo, localizer, fakeOperation, fakeLogger)); }
/// <summary> /// /// </summary> /// <param name="cache"></param> /// <param name="memoInfo"></param> /// <param name="localizer"></param> /// <param name="operation"></param> /// <param name="loggingFacade"></param> public MemoInfoController(IDistributedCache cache, IMemoInfoApi memoInfo, IStringLocalizer <MemoInfoController> localizer , IOperation operation, ILoggingFacade loggingFacade) { _loggingFacade = loggingFacade; _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Starting Memo Info Controller", "MemoInfoController.cs", "MemoInfoController"), CancellationToken.None); _memoInfo = memoInfo; _cache = cache; _localizer = localizer; _operation = operation; }
public async Task MemoInfoApiTest_Exception() { // Arrange int CustomerID = 191809; IOptions <Settings> optionsAccessor = Substitute.For <IOptions <Settings> >(); IMemoInfoRepository mockRepo = Substitute.For <IMemoInfoRepository>(); IMemoInfoApi dashboardInfoApi = Substitute.For <IMemoInfoApi>(); mockRepo.GetMemoResults(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, CustomerID).ThrowsForAnyArgs(new Exception()); dashboardInfoApi = new MemoInfoApi(optionsAccessor, mockRepo); // Assert await Assert.ThrowsAsync <Exception>(() => dashboardInfoApi.GetMemoResults(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, CustomerID)); }
public void MemoInfoApiTest_Success() { // Arrange int lid = 589547; MockMemoInfoRepository repository = new MockMemoInfoRepository(); IMemoInfoRepository mockRepo = Substitute.For <IMemoInfoRepository>(); IMemoInfoApi api = Substitute.For <IMemoInfoApi>(); IOptions <Settings> appSettings = Substitute.For <IOptions <Settings> >(); var expectedResult = repository.GetMockMemoInfo().Result; mockRepo.GetMemoResults(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, lid).ReturnsForAnyArgs(expectedResult); api = new MemoInfoApi(appSettings, mockRepo); // Act var actualRecord = (api.GetMemoResults(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, lid).Result).Result; // Assert Assert.Equal((actualRecord), expectedResult); }
public void MemoInfoControllerTest_ModelState_Invalid() { //Arrange int lid = 589547; MockMemoInfoRepository repository = new MockMemoInfoRepository(); var expectedResult = repository.GetMockMemoInfo(); IMemoInfoRepository mockRepo = FakeRepository(); IDistributedCache _cache = FakeCache(); IOperation fakeOperation = FakeOperation(_cache); ILoggingFacade fakeLogger = FakeLogger(); IMemoInfoApi dAPI = Substitute.For <IMemoInfoApi>(); dAPI.GetMemoResults(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, lid).ReturnsForAnyArgs(expectedResult); MemoInfoController controller = FakeController(dAPI, _cache, fakeOperation, fakeLogger); //Act controller.ModelState.AddModelError("key", "error message"); var dinfo = controller.Get(Wp.CIS.LynkSystems.Model.Helper.LIDTypes.TerminalNbr, lid).Result; //Assert Assert.Equal(((Microsoft.AspNetCore.Mvc.ObjectResult)dinfo).StatusCode.ToString(), "400"); }