Пример #1
0
        public async Task Execute_CallsLoanService()
        {
            var fakeLoanService = new FakeLoanService();
            var testRunner      = new StatefulLinkTestRunner <ApproveLoan, LoanContract, Signal>(
                services => services.AddSingleton <ILoanService>(fakeLoanService)
                );

            var loanContract = TestDataFactory.CreateLoanContract();
            await testRunner.ExecuteAsync(loanContract);

            Assert.Contains(loanContract, fakeLoanService.ApprovedLoans);
        }
Пример #2
0
        public async Task Execute_ReturnsLoanInquiry()
        {
            var expectedLoanInquiry = TestDataFactory.CreateLoanInquiry();
            var fakeLoanService     = new FakeLoanService(_ => expectedLoanInquiry);
            var testRunner          = new StatefulLinkTestRunner <GetLoanInquiry, Signal, LoanInquiry>(
                services => services.AddSingleton <ILoanService>(fakeLoanService)
                );

            var loanInquiry = await testRunner.ExecuteAsync(Signal.Static);

            Assert.Equal(expectedLoanInquiry, loanInquiry);
        }
Пример #3
0
        public async Task Execute_CallsLoanService()
        {
            var fakeLoanService = new FakeLoanService();
            var testRunner      = new StatefulLinkTestRunner <DenyLoan, LoanApplication, Signal>(
                services => services.AddSingleton <ILoanService>(fakeLoanService)
                );

            var loanApplication = TestDataFactory.CreateLoanApplication();
            await testRunner.ExecuteAsync(loanApplication);

            Assert.Contains(loanApplication, fakeLoanService.DeniedLoans);
        }
Пример #4
0
        public async Task Execute_UsesConfiguredMaxAgeDays()
        {
            const int expectedMaxAgeDays = 10;
            var       actualMaxAgeDays   = 0;

            var fakeLoanService = new FakeLoanService(requestedMaxAgeDays =>
            {
                actualMaxAgeDays = requestedMaxAgeDays;
                return(FakeLoanService.DefaultLoanInquiryProvider(requestedMaxAgeDays));
            });
            var testRunner = new StatefulLinkTestRunner <GetLoanInquiry, Signal, LoanInquiry>(
                services => services.AddSingleton <ILoanService>(fakeLoanService),
                configuration: new[]