private static BookingDocumentsService CreateBookingDocumentsService(Booking booking) { // If property is not initialized thrown NullReferenceException booking.Rooms = new List <BookedRoom>(); var edoContext = MockEdoContextFactory.Create(); edoContext.Setup(c => c.Bookings) .Returns(DbSetMockProvider.GetDbSetMock(new List <Booking> { booking })); var bookingRecordManager = new BookingRecordsManager( edoContext.Object, Mock.Of <IDateTimeProvider>(), Mock.Of <ITagProcessor>(), Mock.Of <IAccommodationService>(), Mock.Of <IAccommodationBookingSettingsService>()); return(new BookingDocumentsService( edoContext.Object, Mock.Of <IOptions <BankDetails> >(), bookingRecordManager, Mock.Of <IAccommodationService>(), Mock.Of <ICounterpartyService>(), Mock.Of <IInvoiceService>(), Mock.Of <IReceiptService>(), Mock.Of <IImageFileService>())); }
public CanPayWithAccount() { var edoContextMock = MockEdoContextFactory.Create(); var bookingRecordsManager = new BookingRecordsManager(edoContextMock.Object, Mock.Of <IDateTimeProvider>(), Mock.Of <ITagProcessor>(), Mock.Of <IAccommodationService>(), Mock.Of <IAccommodationBookingSettingsService>()); var dateTimeProvider = new DefaultDateTimeProvider(); _accountPaymentService = new AccountPaymentService(Mock.Of <IAccountPaymentProcessingService>(), edoContextMock.Object, dateTimeProvider, Mock.Of <IAccountManagementService>(), Mock.Of <IEntityLocker>(), bookingRecordsManager); edoContextMock .Setup(c => c.AgencyAccounts) .Returns(DbSetMockProvider.GetDbSetMock(new List <AgencyAccount> { new AgencyAccount { Id = 1, Balance = 0, Currency = Currencies.USD, AgencyId = 1, IsActive = true }, new AgencyAccount { Id = 3, Balance = 5, Currency = Currencies.USD, AgencyId = 3, IsActive = true } })); }
private static BookingDocumentsService CreateBookingDocumentsService(Booking booking, bool hasInvoices) { // If property is not initialized thrown NullReferenceException booking.Rooms = new List <BookedRoom>(); var edoContext = MockEdoContextFactory.Create(); edoContext.Setup(c => c.Bookings) .Returns(DbSetMockProvider.GetDbSetMock(new List <Booking> { booking })); var bookingRecordManager = new BookingRecordsManager( edoContext.Object, Mock.Of <IDateTimeProvider>(), Mock.Of <ITagProcessor>(), Mock.Of <IAccommodationService>(), Mock.Of <IAccommodationBookingSettingsService>()); var invoices = hasInvoices ? new List <(DocumentRegistrationInfo Metadata, BookingInvoiceData Data)> { ( new DocumentRegistrationInfo(It.IsAny <string>(), It.IsAny <DateTime>()), new BookingInvoiceData( new BookingInvoiceData.BuyerInfo(), new BookingInvoiceData.SellerInfo(), It.IsAny <string>(), new List <BookingInvoiceData.InvoiceItemInfo>(), new MoneyAmount(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <BookingPaymentStatuses>(), It.IsAny <DateTime?>()) ) } : new List <(DocumentRegistrationInfo Metadata, BookingInvoiceData Data)>(); var invoiceServiceMock = new Mock <IInvoiceService>(); invoiceServiceMock.Setup(i => i.Get <BookingInvoiceData>(It.IsAny <ServiceTypes>(), It.IsAny <ServiceSource>(), It.IsAny <string>())) .ReturnsAsync(invoices); return(new BookingDocumentsService( edoContext.Object, Mock.Of <IOptions <BankDetails> >(), bookingRecordManager, Mock.Of <IAccommodationService>(), Mock.Of <ICounterpartyService>(), invoiceServiceMock.Object, Mock.Of <IReceiptService>(), Mock.Of <IImageFileService>())); }
public RefundMoneyTests() { var entityLockerMock = new Mock <IEntityLocker>(); entityLockerMock.Setup(l => l.Acquire <It.IsAnyType>(It.IsAny <string>(), It.IsAny <string>())).Returns(Task.FromResult(Result.Success())); var edoContextMock = MockEdoContextFactory.Create(); _edoContextMock = edoContextMock; _mockedEdoContext = edoContextMock.Object; var accountPaymentProcessingService = new AccountPaymentProcessingService( _mockedEdoContext, entityLockerMock.Object, Mock.Of <IAccountBalanceAuditService>()); _dateTimeProviderMock = new Mock <IDateTimeProvider>(); _dateTimeProviderMock.Setup(d => d.UtcNow()).Returns(new DateTime(2020, 1, 1)); var accountManagementService = new AccountManagementService(_mockedEdoContext, _dateTimeProviderMock.Object, Mock.Of <ILogger <AccountManagementService> >(), Mock.Of <IAdministratorContext>(), Mock.Of <IManagementAuditService>(), entityLockerMock.Object); var bookingRecordsManager = new BookingRecordsManager(edoContextMock.Object, _dateTimeProviderMock.Object, Mock.Of <ITagProcessor>(), Mock.Of <IAccommodationService>(), Mock.Of <IAccommodationBookingSettingsService>()); _accountPaymentService = new AccountPaymentService(accountPaymentProcessingService, _mockedEdoContext, _dateTimeProviderMock.Object, accountManagementService, entityLockerMock.Object, bookingRecordsManager); var strategy = new ExecutionStrategyMock(); var dbFacade = new Mock <DatabaseFacade>(_mockedEdoContext); dbFacade.Setup(d => d.CreateExecutionStrategy()).Returns(strategy); edoContextMock.Setup(c => c.Database).Returns(dbFacade.Object); _edoContextMock .Setup(c => c.Agencies) .Returns(DbSetMockProvider.GetDbSetMock(new List <Agency> { new Agency { Id = 1, Name = "Agency", ParentId = null, }, })); _edoContextMock .Setup(c => c.AgencyAccounts) .Returns(DbSetMockProvider.GetDbSetMock(new List <AgencyAccount> { _account, })); _edoContextMock .Setup(c => c.Bookings) .Returns(DbSetMockProvider.GetDbSetMock(new List <Booking> { _booking, })); _edoContextMock .Setup(c => c.Payments) .Returns(DbSetMockProvider.GetDbSetMock(new List <Payment> { _payment, })); }
public TransferMoneyTests() { var entityLockerMock = new Mock <IEntityLocker>(); entityLockerMock.Setup(l => l.Acquire <It.IsAnyType>(It.IsAny <string>(), It.IsAny <string>())).Returns(Task.FromResult(Result.Success())); var edoContextMock = MockEdoContextFactory.Create(); _edoContextMock = edoContextMock; _mockedEdoContext = edoContextMock.Object; var accountPaymentProcessingService = new AccountPaymentProcessingService( _mockedEdoContext, entityLockerMock.Object, Mock.Of <IAccountBalanceAuditService>()); var bookingRecordsManager = new BookingRecordsManager(edoContextMock.Object, Mock.Of <IDateTimeProvider>(), Mock.Of <ITagProcessor>(), Mock.Of <IAccommodationService>(), Mock.Of <IAccommodationBookingSettingsService>()); _accountPaymentService = new AccountPaymentService(accountPaymentProcessingService, _mockedEdoContext, Mock.Of <IDateTimeProvider>(), Mock.Of <IAccountManagementService>(), entityLockerMock.Object, bookingRecordsManager); var strategy = new ExecutionStrategyMock(); var dbFacade = new Mock <DatabaseFacade>(_mockedEdoContext); dbFacade.Setup(d => d.CreateExecutionStrategy()).Returns(strategy); edoContextMock.Setup(c => c.Database).Returns(dbFacade.Object); _edoContextMock .Setup(c => c.Agencies) .Returns(DbSetMockProvider.GetDbSetMock(new List <Agency> { new Agency { Id = 1, Name = "RootAgency", ParentId = null, }, new Agency { Id = 2, Name = "ChildAgency", ParentId = 1, }, new Agency { Id = 3, Name = "UnrelatedAgency", ParentId = null, }, })); _edoContextMock .Setup(c => c.AgencyAccounts) .Returns(DbSetMockProvider.GetDbSetMock(new List <AgencyAccount> { new AgencyAccount { Id = 1, Balance = 1000, Currency = Currencies.USD, AgencyId = 1, IsActive = true }, new AgencyAccount { Id = 2, Balance = 1000, Currency = Currencies.USD, AgencyId = 2, IsActive = true }, new AgencyAccount { Id = 3, Balance = 1000, Currency = Currencies.USD, AgencyId = 3, IsActive = true }, new AgencyAccount { Id = 4, Balance = 1000, Currency = Currencies.EUR, AgencyId = 2, IsActive = true }, })); }