Ejemplo n.º 1
0
        public async Task BankingInfoControllerTest_GetAnException()
        {
            //Arrange
            MockBankingInfoRepository repository = new MockBankingInfoRepository();
            var expectedResult       = repository.GetMockBankingInfo();
            IDistributedCache _cache = FakeCache();

            string lid = "756122";
            IBankingInfoRepository mockRepo   = Substitute.For <IBankingInfoRepository>();
            IBankingApi            dAPI       = Substitute.For <IBankingApi>();
            ILoggingFacade         fakeLogger = FakeLogger();

            IOperation fakeOperation = FakeOperation(_cache);

            dAPI.GetBankingInfo(Helper.LIDTypes.TerminalNbr, lid).ThrowsForAnyArgs(new System.Exception());
            BankingController controller = FakeController(dAPI, _cache, fakeOperation, fakeLogger);

            // Act
            var dinfo = await controller.GetBankingInfo(Helper.LIDTypes.TerminalNbr, "0");

            var actualRecord = ((Microsoft.AspNetCore.Mvc.ObjectResult)dinfo);

            // Assert
            Assert.Equal(actualRecord.StatusCode, 500);
            Assert.Equal(actualRecord.Value, "Error occured");
        }
Ejemplo n.º 2
0
        public async Task BankingInfoControllerTest_Success()
        {
            //Arrange
            MockBankingInfoRepository repository = new MockBankingInfoRepository();
            var expectedResult       = repository.GetMockBankingInfo();
            IDistributedCache _cache = FakeCache();

            string lid = "756122";
            IBankingInfoRepository mockRepo   = Substitute.For <IBankingInfoRepository>();
            IBankingApi            dAPI       = Substitute.For <IBankingApi>();
            ILoggingFacade         fakeLogger = FakeLogger();

            IOperation fakeOperation = FakeOperation(_cache);

            dAPI.GetBankingInfo(Helper.LIDTypes.TerminalNbr, lid).ReturnsForAnyArgs(expectedResult);
            BankingController controller = FakeController(dAPI, _cache, fakeOperation, fakeLogger);

            //Act
            var dinfo = await controller.GetBankingInfo(Helper.LIDTypes.TerminalNbr, lid);

            var actualRecord = ((Microsoft.AspNetCore.Mvc.ObjectResult)dinfo).Value;

            //Assert
            Assert.Equal(actualRecord, expectedResult.Result);
        }
Ejemplo n.º 3
0
        private BankingController FakeController(IBankingApi api, IDistributedCache mockCache, IOperation fakeOperation, ILoggingFacade loggingFacade)
        {
            var localizer = new MockStringLocalizer <BankingController>();

            localizer[0] = new LocalizedString("GenericError", "Error occured");
            return(new BankingController(mockCache, api, localizer, fakeOperation, loggingFacade));
        }
Ejemplo n.º 4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="bankingApi"></param>
 /// <param name="localizer"></param>
 /// <param name="operation"></param>
 /// <param name="loggingFacade"></param>
 public BankingController(IDistributedCache cache, IBankingApi bankingApi, IStringLocalizer <BankingController> localizer
                          , IOperation operation, ILoggingFacade loggingFacade)
 {
     _loggingFacade = loggingFacade;
     _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Starting Banking Controller", "BankingController.cs", "BankingController"), CancellationToken.None);
     _bankingApi = bankingApi;
     _cache      = cache;
     _localizer  = localizer;
     _operation  = operation;
 }
Ejemplo n.º 5
0
        public async Task BankingInfoApiTest_Exception()
        {
            // Arrange
            string lid = "191809";

            IOptions <Settings>    optionsAccessor = Substitute.For <IOptions <Settings> >();
            IBankingInfoRepository mockRepo        = Substitute.For <IBankingInfoRepository>();
            IBankingApi            bankingInfoApi  = Substitute.For <IBankingApi>();

            mockRepo.GetBankingInfo(Helper.LIDTypes.TerminalNbr, lid).ThrowsForAnyArgs(new Exception());
            bankingInfoApi = new BankingApi(optionsAccessor, mockRepo);

            // Assert
            await Assert.ThrowsAsync <Exception>(() => bankingInfoApi.GetBankingInfo(Helper.LIDTypes.TerminalNbr, "0"));
        }
Ejemplo n.º 6
0
        public void TestBankingInfoApi_Success()
        {
            //Arrange
            MockBankingInfoRepository repository = new MockBankingInfoRepository();
            var expectedResult = repository.GetMockBankingInfo();

            string lid = "756122";

            IBankingInfoRepository mockRepo    = Substitute.For <IBankingInfoRepository>();
            IBankingApi            api         = Substitute.For <IBankingApi>();
            IOptions <Settings>    appSettings = Substitute.For <IOptions <Settings> >();

            mockRepo.GetBankingInfo(Helper.LIDTypes.TerminalNbr, lid).ReturnsForAnyArgs(expectedResult.Result);
            api = new BankingApi(appSettings, mockRepo);

            // Act
            var actualRecord = api.GetBankingInfo(Helper.LIDTypes.TerminalNbr, lid).Result;

            //Assert
            Assert.Equal(((IList <BankingInformation>)actualRecord.Result), (IList <BankingInformation>)expectedResult.Result);
        }
Ejemplo n.º 7
0
        public void BankingInfoControllerTest_ModelState_Invalid()
        {
            MockBankingInfoRepository repository = new MockBankingInfoRepository();
            var expectedResult       = repository.GetMockBankingInfo();
            IDistributedCache _cache = FakeCache();

            string lid = "756122";
            IBankingInfoRepository mockRepo   = Substitute.For <IBankingInfoRepository>();
            IBankingApi            dAPI       = Substitute.For <IBankingApi>();
            ILoggingFacade         fakeLogger = FakeLogger();

            IOperation fakeOperation = FakeOperation(_cache);

            dAPI.GetBankingInfo(Helper.LIDTypes.TerminalNbr, lid).ReturnsForAnyArgs(expectedResult);
            BankingController controller = FakeController(dAPI, _cache, fakeOperation, fakeLogger);

            //Act
            controller.ModelState.AddModelError("key", "error message");
            var dinfo = controller.GetBankingInfo(Helper.LIDTypes.TerminalNbr, lid).Result;

            //Assert
            Assert.Equal(((Microsoft.AspNetCore.Mvc.ObjectResult)dinfo).StatusCode.ToString(), "400");
        }