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");
        }
示例#2
0
        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
        }