Exemplo n.º 1
0
        public void AddOrderSaveShouldAddOrderSave()
        {
            var options = new DbContextOptionsBuilder <BankCloudDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_OrderSave_Database")
                          .Options;

            var dbContext = new BankCloudDbContext(options);

            var ordersService = new OrdersService(dbContext, null);

            var product = new Save
            {
                Name         = "ABCD",
                Amount       = 1000m,
                Commission   = 0,
                InterestRate = 10m,
                Period       = 12
            };
            var order = new OrderSave
            {
                Name = product.Name,
            };

            order.MonthlyFee = BankCloudCalculator.CalculateDepositMonthlyIncome(order, product);
            ordersService.AddOrderSave(order, product);
            dbContext.SaveChanges();

            var orders = dbContext.OrdersSaves.ToList();

            Assert.Single(orders);
            Assert.Equal(order.Name, orders.First().Name);
        }
Exemplo n.º 2
0
        public void ApproveSaveRequestSholudSetOrderSaveToApprove()
        {
            var options = new DbContextOptionsBuilder <BankCloudDbContext>()
                          .UseInMemoryDatabase(databaseName: "Approve_OrderSave_Database")
                          .Options;

            var dbContext = new BankCloudDbContext(options);

            var ordersService = new OrdersService(dbContext, null);

            var orderId = "abcd123";
            var product = new Save
            {
                Name         = "ABCD",
                Amount       = 1000m,
                Commission   = 0,
                InterestRate = 10m,
                Period       = 12,
                Account      = new Account {
                    Currency = new Currency {
                        IsoCode = "USD"
                    }
                }
            };
            var order = new OrderSave
            {
                Id      = orderId,
                Name    = product.Name,
                Save    = product,
                Account = new Account {
                    Currency = new Currency {
                        IsoCode = "USD"
                    }
                }
            };

            order.MonthlyFee = BankCloudCalculator.CalculateDepositMonthlyIncome(order, product);
            dbContext.OrdersSaves.Add(order);
            dbContext.SaveChanges();

            var ordered = dbContext.OrdersSaves.Find(orderId);

            ordersService.ApproveSaveRequest(ordered);
            dbContext.SaveChanges();

            var approved = dbContext.OrdersSaves.Find(orderId);

            Assert.Equal(OrderStatus.Approved, approved.Status);
        }
Exemplo n.º 3
0
        public void AddOrderSave(OrderSave order, Product save)
        {
            if (order == null || save == null)
            {
                return;
            }

            order.MonthlyFee = BankCloudCalculator.CalculateDepositMonthlyIncome(order, save);
            order.Status     = OrderStatus.Pending;
            order.Name       = save.Name;
            save.Popularity++;

            context.OrdersSaves.Add(order);
            context.SaveChanges();
        }