public void GetDealsOfDealer_RandomRange_ShouldBeIntegrated() { //init var dealersResult = dealerController.Dealers(); var givenDealers = dealersResult.GetObject <PagedResult <Dealer> >().Queryable.ToArray(); var dealersArb = ControllerHelper.ChooseFrom(givenDealers).ToArbitrary(); Prop.ForAll(dealersArb, (dealer) => { var deals = sut.GetDealsOfDealer(dealer.Id, 1, int.MaxValue).Result.GetObject <PagedResult <Deal> >().Queryable.ToList(); var sales = sut.GetSalesOfDealer(dealer.Id, 1, int.MaxValue).GetObject <PagedResult <Deal> >().Queryable.ToList(); var purchases = sut.GetPurchasesOfDealer(dealer.Id, 1, int.MaxValue).GetObject <PagedResult <Deal> >().Queryable.ToList(); var union = sales.Union(purchases).ToList(); foreach (var item in deals) { var u = union.Single(i => i.Id == item.Id); Assert.AreEqual(u.SellerId, item.SellerId); Assert.AreEqual(u.BuyerId, item.BuyerId); Assert.AreEqual(u.DealPriceId, item.DealPriceId); Assert.AreEqual(u.DealPaymentId, item.DealPaymentId); Assert.AreEqual(u.DealTime, item.DealTime); union.Remove(u); } Assert.IsEmpty(union); }).QuickCheckThrowOnFailure(); }
public void GetGeneral_InvalidDealerId_ShouldBadRequest() { //init var dealersResult = dealerController.Dealers(); var givenDealers = dealersResult.GetObject <PagedResult <Dealer> >().Queryable.Select(i => i.Id).ToList(); var dealersArb = Arb.Generate <int>().Where(i => !givenDealers.Contains(i)).ToArbitrary(); Prop.ForAll(dealersArb, (dealerId) => { var result = sut.GetGeneral(dealerId).Result; Assert.IsInstanceOf <BadRequestObjectResult>(result); }).QuickCheckThrowOnFailure(); }
public void GetSuggestedDealers_RandomNonNullInput_ShouldNotBeEmpty() { //init var dealersResult = sut.Dealers(); var givenDealers = dealersResult.GetObject <PagedResult <Dealer> >().Queryable.ToArray(); var dealersArb = ControllerHelper.ChooseFrom(givenDealers).Where(i => i.Name != null).ToArbitrary(); Prop.ForAll(dealersArb, (dealer) => { //execution var subname = dealer.Name.Substring(0, Gen.Choose(0, dealer.Name.Length).Sample(0, 1).Single()); var result = sut.GetSuggestedDealers(subname); var dealers = result.GetObject <IEnumerable <Dealer> >().ToList(); //assertion Assert.AreNotEqual(dealers.Count, 0); }).QuickCheckThrowOnFailure(); }
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); }