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); }
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); }
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); }
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[]