public void DealController_GetDealTestCase()
        {
            DealContext dbContext  = LoadDependencies <DealContext>();
            var         mockRepo   = new DealRepository(dbContext);
            var         logger     = new FlatFileLogger();
            var         controller = new DealController(mockRepo, logger);
            var         result     = controller.GetDealsByCountryId(1);

            Assert.NotNull(result);
            var deal = Assert.IsAssignableFrom <Deal>((result as OkObjectResult).Value as Deal);

            Assert.Equal(1, deal.country_id);
        }
        public void DealController_GetAllTestCase()
        {
            DealContext dbContext  = LoadDependencies <DealContext>();
            var         mockRepo   = new DealRepository(dbContext);
            var         logger     = new FlatFileLogger();
            var         controller = new DealController(mockRepo, logger);
            var         result     = controller.Get();

            Assert.NotNull(result);
            var lstDeal = Assert.IsAssignableFrom <IList <Deal> >((result as OkObjectResult).Value as IList <Deal>);

            Assert.Equal(2, lstDeal.Count);
        }
        public override void Setup()
        {
            base.Setup();

            // Spin up mock repository and attach to controller
            MockDealRepository = new Mock<IDealRepository>();

            MockAdminRepository = new Mock<IAdminRepository>();

            MockCapitalCallRepository = new Mock<ICapitalCallRepository>();

            MockFundRepository = new Mock<IFundRepository>();

            // Spin up the controller with the mock http context, and the mock repository
            DefaultController = new DealController(MockDealRepository.Object, MockAdminRepository.Object, MockCapitalCallRepository.Object, MockFundRepository.Object);
            DefaultController.ControllerContext = new ControllerContext(DeepBlue.Helpers.HttpContextFactory.GetHttpContext(), new RouteData(), new Mock<ControllerBase>().Object);
        }
Exemple #4
0
        public async Task InitializeAsync()
        {
            var db = new DbContextOptionsBuilder <HesabdarContext>()
                     .UseInMemoryDatabase(databaseName: "test", new InMemoryDatabaseRoot());

            context = new HesabdarContext(db.Options);
            context.Database.EnsureCreated();

            materialController = new MaterialController(context);
            dealerController   = new DealerController(context);
            sut = new DealController(context);
            await TestDataGenerator.GenerateSeedMaterialAsync(materialController);

            await TestDataGenerator.GenerateSeedDealersAsync(dealerController);

            var materials = materialController.GetMaterials(1, Int32.MaxValue).GetObject <PagedResult <Material> >().Queryable.ToList();
            var dealers   = dealerController.Dealers(1, Int32.MaxValue).GetObject <PagedResult <Dealer> >().Queryable.ToList();
            await TestDataGenerator.GenerateSeedDealAsync(sut, dealers, materials);
        }
Exemple #5
0
        public override void Setup()
        {
            base.Setup();

            // Spin up mock repository and attach to controller
            MockDealRepository = new Mock<IDealRepository>();

            MockAdminRepository = new Mock<IAdminRepository>();

            MockCapitalCallRepository = new Mock<ICapitalCallRepository>();

            MockFundRepository = new Mock<IFundRepository>();

            // Spin up the controller with the mock http context, and the mock repository
            DefaultController = new DealController(MockDealRepository.Object, MockAdminRepository.Object, MockCapitalCallRepository.Object, MockFundRepository.Object);
            DefaultController.ControllerContext = new ControllerContext(DeepBlue.Helpers.HttpContextFactory.GetHttpContext(), new RouteData(), new Mock<ControllerBase>().Object);
            MockAdminRepository.Setup(x => x.GetAllDocumentTypes((int)DeepBlue.Models.Admin.Enums.DocumentSection.Investor)).Returns(new List<DocumentType>());
            MockAdminRepository.Setup(x =>x.GetAllPurchaseTypes()).Returns(new List<PurchaseType>());
            MockAdminRepository.Setup(x => x.GetAllDealClosingCostTypes()).Returns(new List<DealClosingCostType>());
            MockDealRepository.Setup(x=>x.GetAllUnderlyingFunds()).Returns(new List<UnderlyingFund>());
        }
 public void Setup()
 {
     _requestDealMock = new Mock <IRequestDeal <Deal> >();
     _controller      = new DealController(_requestDealMock.Object);
 }
Exemple #7
0
    protected void dvDataSource_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
    {
        RateDeal rd = e.InputParameters["entityToInsert"] as RateDeal;

        DealController.ValidateInsertDealNumber(rd.DealNumber, rd.ClientID);
    }
Exemple #8
0
    protected void dvDataSource_Updating(object sender, ObjectDataSourceMethodEventArgs e)
    {
        RateDeal rd = e.InputParameters["newEntity"] as RateDeal;

        DealController.ValidateUpdateDealNumber(rd.ID, rd.DealNumber, rd.ClientID);
    }
 public DealControllerTests()
 {
     _dealRepository = new Mock <IDealRepository>();
     sut             = new DealController(_dealRepository.Object);
 }
Exemple #10
0
    protected void dvDataSource_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
    {
        Deal d = e.InputParameters["entityToInsert"] as Deal;

        DealController.ValidateInsertCode(d.Code);
    }
Exemple #11
0
    protected void dvDataSource_Updating(object sender, ObjectDataSourceMethodEventArgs e)
    {
        Deal d = e.InputParameters["newEntity"] as Deal;

        DealController.ValidateUpdateCode(d.ID, d.Code);
    }
Exemple #12
0
        public static async Task GenerateSeedDealAsync(DealController sut, List <Dealer> dealers, List <Material> materials, int count = 50)
        {
            var dealersGenerator  = Gen.Elements <Dealer>(dealers).Where(x => x.Id != 1);
            var materialGenerator = Gen.Elements <Material>(materials).NonEmptyListOf();
            var barcodeGenerator  = Arb.Generate <string>();

            var sells = Gen.Choose(0, count).Select(i =>
            {
                var date = DateTime.Now;
                date     = date.AddDays(Gen.Choose(-90, 0).Sample(0, 1).Head);
                var ds   = dealersGenerator.Sample(0, 1).Single();
                return(new Deal
                {
                    BuyerId = ds.Id,
                    Items = materialGenerator.Sample(0, 1).Head.Select(m => new DealItem
                    {
                        MaterialId = m.Id,
                        PricePerOne = Gen.Choose(1, 10000).Sample(0, 1).Head,
                        Quantity = Gen.Choose(1, 100).Sample(0, 1).Head
                    }).ToList(),
                    DealTime = date,
                    DealPrice = new Payment
                    {
                        Method = Hesabdar.Models.Enums.PaymentMethod.DealPrice,
                        PayDate = date,
                        Paid = true,
                        Amount = Gen.Choose(1, 10000).Sample(0, 1).Head
                    },
                    DealPayment = new Payment
                    {
                        Method = Gen.OneOf(Gen.Constant(Hesabdar.Models.Enums.PaymentMethod.Cash), Gen.Constant(Hesabdar.Models.Enums.PaymentMethod.Cheque)).Sample(0, 1).Head,
                        PayDate = date,
                        Paid = Gen.OneOf(Gen.Constant(true), Gen.Constant(true)).Sample(0, 1).Head,
                        Amount = Gen.Choose(1, 10000).Sample(0, 1).Head
                    }
                });
            });

            foreach (var item in sells.Sample(0, count))
            {
                await sut.PostSale(item);
            }

            var purchases = Gen.Choose(0, count).Select(i =>
            {
                var ds   = dealersGenerator.Sample(0, 1).Single();
                var date = DateTime.Now;
                date     = date.AddDays(Gen.Choose(-90, 0).Sample(0, 1).Head);
                return(new Deal
                {
                    SellerId = ds.Id,
                    Items = materialGenerator.Sample(0, 1).Head.Select(m => new DealItem
                    {
                        MaterialId = m.Id,
                        PricePerOne = Gen.Choose(1, 10000).Sample(0, 1).Head,
                        Quantity = Gen.Choose(1, 100).Sample(0, 1).Head
                    }).ToList(),
                    DealTime = date,
                    DealPrice = new Payment
                    {
                        Method = Hesabdar.Models.Enums.PaymentMethod.DealPrice,
                        PayDate = date,
                        Paid = true,
                        Amount = Gen.Choose(1, 10000).Sample(0, 1).Head
                    },
                    DealPayment = new Payment
                    {
                        Method = Gen.OneOf(Gen.Constant(Hesabdar.Models.Enums.PaymentMethod.Cash), Gen.Constant(Hesabdar.Models.Enums.PaymentMethod.Cheque)).Sample(0, 1).Head,
                        PayDate = date,
                        Paid = Gen.OneOf(Gen.Constant(true), Gen.Constant(true)).Sample(0, 1).Head,
                        Amount = Gen.Choose(1, 10000).Sample(0, 1).Head
                    }
                });
            });

            foreach (var item in purchases.Sample(0, count))
            {
                await sut.PostPurchase(item);
            }
        }