public void AuctionManagementService_RevokeBidFromAuction() { ApplicationDbContext applicationDb = new ApplicationDbContext(); applicationDb.Database.CreateIfNotExists(); OrganizationType organizationType = new OrganizationType() { Id = Guid.NewGuid(), Name = "TstTypeA_03" }; applicationDb.OrganizationTypes.Add(organizationType); applicationDb.SaveChanges(); Organization auctionMaster = new Organization() { Id = Guid.NewGuid(), FullName = "TestCompanyA_03", RegistrationDate = DateTime.Now, OrganizationTypeId = organizationType.Id }; applicationDb.Organizations.Add(auctionMaster); applicationDb.SaveChanges(); Organization auctionParticipant = new Organization() { Id = Guid.NewGuid(), FullName = "TestCompanyA_032", RegistrationDate = DateTime.Now, OrganizationTypeId = organizationType.Id }; applicationDb.Organizations.Add(auctionParticipant); applicationDb.SaveChanges(); AuctionType auctionType = new AuctionType() { Id = Guid.NewGuid(), Name = "TestAuctionType_03" }; applicationDb.AuctionTypes.Add(auctionType); applicationDb.SaveChanges(); Auction auction = new Auction() { Id = Guid.NewGuid(), Description = "test_any description_03", MinRatingForParticipant = 9.5, StartPrice = 600000M, MinPrice = 100000M, PriceStep = 50000M, StartDate = new DateTime(2019, 4, 26), FinishDate = new DateTime(2019, 5, 22), Status = AuctionStatus.Active, AuctionTypeId = auctionType.Id, OrganizationId = auctionMaster.Id }; applicationDb.Auctions.Add(auction); applicationDb.SaveChanges(); var activeBidStatus = applicationDb.BidStatuses.SingleOrDefault(p => p.StatusName == "Active"); if (activeBidStatus == null) { BidStatus status = new BidStatus() { Id = Guid.NewGuid(), StatusName = "Active" }; applicationDb.BidStatuses.Add(status); applicationDb.SaveChanges(); activeBidStatus = status; } Bid bid = new Bid() { Id = Guid.NewGuid(), Price = 200000M, CreatedDate = DateTime.Now, BidStatusId = activeBidStatus.Id, AuctionId = auction.Id, OrganizationId = auctionParticipant.Id }; applicationDb.Bids.Add(bid); applicationDb.SaveChanges(); AuctionManagementService sut = new AuctionManagementService(); sut.RevokeBidFromAuction(bid.Id); Bid checkBid = applicationDb.Bids.Find(bid.Id); Assert.IsNotNull(checkBid); //Assert.IsTrue(bid.BidStatus.StatusName== "Revoke"); }
public void AuctionManagementService_RevokeBidFromAuction_ShouldRevokeBid() { // Tear Up AplicationDbContext dbContext = new AplicationDbContext(); dbContext.Database.CreateIfNotExists(); var organization = new OrganizationType() { Name = "Тестовый тип АО", Organizations = new List <Organization>() { new Organization() { FullName = "Жамантелеком", IdentificationNumber = "-1", RegistrationDate = DateTime.Now } } }; dbContext.OrganizationTypes.Add(organization); dbContext.SaveChanges(); var auctionCategory = new AuctionCategory() { Name = "Тестовые аукционы", Description = "Тестовые аукционы", Auctions = new List <Auction>() { new Auction() { AuctionStatus = AuctionStatus.Active, Description = "Тестовый аукцион", FinishDateActual = null, FinishDateExpected = DateTime.Now.AddDays(3), PriceAtMinimum = 10000, PriceAtStart = 1000000, PriceChangeStep = 10000, ShippingAddress = "Советский союз", ShippingConditions = "Советский союз", StartDate = DateTime.Now.AddDays(-2), OrganizationId = dbContext.Organizations.First().Id, Bids = new List <Bid>() { new Bid() { BidStatus = BidStatus.Active, OrganizationId = dbContext.Organizations.First().Id, Price = 100000, CreatedDate = DateTime.Now.AddHours(-5), Description = "Доставим!" } } } } }; dbContext.AuctionCategories.Add(auctionCategory); dbContext.SaveChanges(); // Arrange // System Under Test var sut = new AuctionManagementService(); int bidId = dbContext.Bids.ToList().Last().Id; // Act sut.RevokeBidFromAuction(bidId); // Assert dbContext = new AplicationDbContext(); Bid bid = dbContext.Bids.Find(bidId); Assert.IsNotNull(bid); Assert.IsTrue(bid.BidStatus == BidStatus.Revoked); // Tear Down }