Exemplo n.º 1
0
        public GetBalanceTests()
        {
            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();
            var mockedEdoContext = edoContextMock.Object;

            _agencyAccountService = new AgencyAccountService(mockedEdoContext, entityLockerMock.Object,
                                                             Mock.Of <IManagementAuditService>(), Mock.Of <IAccountBalanceAuditService>());

            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
                },
                // Having more than one element for predicates to be tested too
                new Agency
                {
                    Id = 2
                },
            }));

            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       = 1,
                    Balance  = 0,
                    Currency = Currencies.USD,
                    AgencyId = 1,
                    IsActive = true
                }
            }));
        }
Exemplo n.º 2
0
        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();
            var edoContextMock1  = edoContextMock;
            var mockedEdoContext = edoContextMock.Object;

            var accountPaymentProcessingService = new AccountPaymentProcessingService(
                mockedEdoContext, entityLockerMock.Object, Mock.Of <IAccountBalanceAuditService>());

            var dateTimeProviderMock = new Mock <IDateTimeProvider>();

            dateTimeProviderMock.Setup(d => d.UtcNow()).Returns(CancellationDate);

            _accountPaymentService = new AccountPaymentService(accountPaymentProcessingService, mockedEdoContext,
                                                               dateTimeProviderMock.Object, Mock.Of <IBalanceManagementNotificationsService>());

            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);

            edoContextMock1
            .Setup(c => c.Agencies)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <Agency>
            {
                new Agency
                {
                    Id       = 1,
                    Name     = "Agency",
                    ParentId = null,
                },
            }));

            edoContextMock1
            .Setup(c => c.AgencyAccounts)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <AgencyAccount>
            {
                _account,
            }));


            edoContextMock1
            .Setup(c => c.Payments)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <Payment>
            {
                _payment,
            }));
        }
Exemplo n.º 3
0
        private EdoContext GetDbContextMock()
        {
            var edoContextMock = new Mock <EdoContext>(new DbContextOptions <EdoContext>());

            var strategy = new ExecutionStrategyMock();

            var dbFacade = new Mock <DatabaseFacade>(edoContextMock.Object);

            dbFacade.Setup(d => d.CreateExecutionStrategy()).Returns(strategy);
            edoContextMock.Setup(c => c.Database).Returns(dbFacade.Object);

            edoContextMock
            .Setup(c => c.Counterparties)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <Counterparty>
            {
                new Counterparty
                {
                    Id = 1
                },
                new Counterparty
                {
                    Id = 2
                },
            }));

            edoContextMock
            .Setup(c => c.CounterpartyAccounts)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <CounterpartyAccount>
            {
                new CounterpartyAccount
                {
                    Id             = 1,
                    Balance        = 1000,
                    Currency       = Currencies.USD,
                    CounterpartyId = 1,
                    IsActive       = true
                },
                new CounterpartyAccount
                {
                    Id             = 2,
                    Balance        = 1000,
                    Currency       = Currencies.USD,
                    CounterpartyId = 2,
                    IsActive       = true
                }
            }));

            edoContextMock.Setup(c => c.AccountBalanceAuditLogs).Returns(DbSetMockProvider.GetDbSetMock(new List <AccountBalanceAuditLogEntry>()));

            return(edoContextMock.Object);
        }
Exemplo n.º 4
0
        private EdoContext GetDbContextMock()
        {
            var edoContextMock = new Mock <EdoContext>(new DbContextOptions <EdoContext>());

            var strategy = new ExecutionStrategyMock();

            var dbFacade = new Mock <DatabaseFacade>(edoContextMock.Object);

            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,
                    ParentId = null,
                },
                new Agency
                {
                    Id       = 2,
                    ParentId = null,
                }
            }));

            edoContextMock
            .Setup(c => c.AgencyAccounts)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <AgencyAccount>
            {
                new AgencyAccount
                {
                    Id       = 1,
                    Balance  = 120,
                    Currency = Currencies.USD,
                    AgencyId = 2,
                    IsActive = true
                },
                new AgencyAccount
                {
                    Id       = 2,
                    Balance  = 120,
                    Currency = Currencies.USD,
                    AgencyId = 2,
                    IsActive = true
                }
            }));

            return(edoContextMock.Object);
        }
Exemplo n.º 5
0
        public Mock <EdoContext> GetContextMock()
        {
            var edoContextMock = MockEdoContextFactory.Create();
            var strategy       = new ExecutionStrategyMock();
            var dbFacade       = new Mock <DatabaseFacade>(edoContextMock.Object);

            dbFacade.Setup(d => d.CreateExecutionStrategy()).Returns(strategy);
            edoContextMock.Setup(c => c.Database).Returns(dbFacade.Object);
            edoContextMock.Setup(x => x.Agencies).Returns(DbSetMockProvider.GetDbSetMock(_agencies));
            edoContextMock.Setup(x => x.Agents).Returns(DbSetMockProvider.GetDbSetMock(_agents));
            edoContextMock.Setup(x => x.AgentAgencyRelations).Returns(DbSetMockProvider.GetDbSetMock(_relations));
            edoContextMock.Setup(x => x.AgencyAccounts).Returns(DbSetMockProvider.GetDbSetMock(_agencyAccounts));
            edoContextMock.Setup(x => x.Countries).Returns(DbSetMockProvider.GetDbSetMock(_countries));
            edoContextMock.Setup(x => x.DisplayMarkupFormulas).Returns(DbSetMockProvider.GetDbSetMock(new List <DisplayMarkupFormula>()));

            return(edoContextMock);
        }
Exemplo n.º 6
0
        public AddMoneyTests()
        {
            var entityLockerMock = new Mock <IEntityLocker>();

            entityLockerMock.Setup(l => l.Acquire <It.IsAnyType>(It.IsAny <string>(), It.IsAny <string>())).Returns(Task.FromResult(Result.Success()));

            _edoContextMock   = MockEdoContextFactory.Create();
            _mockedEdoContext = _edoContextMock.Object;

            _counterpartyAccountService = new CounterpartyAccountService(_mockedEdoContext, entityLockerMock.Object, Mock.Of <IAccountBalanceAuditService>());

            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);
        }
Exemplo n.º 7
0
#pragma warning disable CS8602 // Dereference of a possibly null reference.
        public BalanceNotificationsTests()
        {
            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();

            _mockedEdoContext = edoContextMock.Object;

            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.BalanceNotificationSettings)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <BalanceNotificationSetting>
            {
                new BalanceNotificationSetting
                {
                    AgencyAccountId = 1,
                    Thresholds      = new[] { 100, 200, 500 }
                },
                new BalanceNotificationSetting
                {
                    AgencyAccountId = 2,
                    Thresholds      = new int[0]
                }
            }));

            edoContextMock
            .Setup(c => c.Agencies)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <Agency>
            {
                new Agency
                {
                    Id          = 1,
                    Name        = "AgencyName1",
                    CountryCode = "en"
                },
                new Agency
                {
                    Id          = 2,
                    Name        = "AgencyName2",
                    CountryCode = "en"
                }
            }));

            edoContextMock
            .Setup(c => c.Countries)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <Country>
            {
                new Country
                {
                    Code     = "en",
                    Names    = JsonDocument.Parse("{\"en\": \"Russian Federation\"}"),
                    RegionId = 1
                }
            }));

            edoContextMock
            .Setup(c => c.AgencyAccounts)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <AgencyAccount>
            {
                new AgencyAccount
                {
                    Id       = 1,
                    AgencyId = 1,
                    Currency = Currencies.USD
                },
                new AgencyAccount
                {
                    Id       = 2,
                    AgencyId = 2,
                    Currency = Currencies.AED
                }
            }));

            edoContextMock
            .Setup(c => c.DisplayMarkupFormulas)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <DisplayMarkupFormula>()));
        }
Exemplo n.º 8
0
        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,
            }));
        }
Exemplo n.º 9
0
        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
                },
            }));
        }
Exemplo n.º 10
0
        private EdoContext GetDbContextMock()
        {
            var edoContextMock = new Mock <EdoContext>(new DbContextOptions <EdoContext>());

            var strategy = new ExecutionStrategyMock();

            var dbFacade = new Mock <DatabaseFacade>(edoContextMock.Object);

            dbFacade.Setup(d => d.CreateExecutionStrategy()).Returns(strategy);
            edoContextMock.Setup(c => c.Database).Returns(dbFacade.Object);

            edoContextMock
            .Setup(c => c.Counterparties)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <Counterparty>
            {
                new Counterparty
                {
                    Id = 1
                },
                // Having more than one element for predicates to be tested too
                new Counterparty
                {
                    Id = 2
                },
            }));

            edoContextMock
            .Setup(c => c.Agencies)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <Agency>
            {
                new Agency
                {
                    Id             = 1,
                    CounterpartyId = 1,
                    ParentId       = null,
                },
                new Agency
                {
                    Id             = 2,
                    CounterpartyId = 2,
                    ParentId       = null,
                }
            }));

            edoContextMock
            .Setup(c => c.AgencyAccounts)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <AgencyAccount>
            {
                new AgencyAccount
                {
                    Id       = 1,
                    Balance  = 120,
                    Currency = Currencies.USD,
                    AgencyId = 2,
                    IsActive = true
                },
                new AgencyAccount
                {
                    Id       = 2,
                    Balance  = 120,
                    Currency = Currencies.USD,
                    AgencyId = 2,
                    IsActive = true
                }
            }));

            edoContextMock
            .Setup(c => c.CounterpartyAccounts)
            .Returns(DbSetMockProvider.GetDbSetMock(new List <CounterpartyAccount>
            {
                new CounterpartyAccount
                {
                    Id             = 1,
                    Balance        = 1000,
                    Currency       = Currencies.USD,
                    CounterpartyId = 1,
                    IsActive       = true
                },
                new CounterpartyAccount
                {
                    Id             = 2,
                    Balance        = 1000,
                    Currency       = Currencies.USD,
                    CounterpartyId = 2,
                    IsActive       = true
                }
            }));

            return(edoContextMock.Object);
        }