public void GetItemsBidOnByUserWhenUserHasBidReturnsAllItems() { BidRepository repo = new BidRepository(); repo.Items.Add(new Item("item1", "name1")); repo.Items.Add(new Item("item2", "name2")); repo.Bids.Add(new Bid("bid1", "item1", "user1", 2)); repo.Bids.Add(new Bid("bid2", "item1", "user2", 3)); repo.Bids.Add(new Bid("bid3", "item1", "user3", 4)); repo.Bids.Add(new Bid("bid4", "item2", "user3", 3)); BidTracker tracker = new BidTracker(repo); IEnumerable <Item> items = tracker.GetItemsBidOn("user3"); Assert.NotEmpty(items); Assert.Equal(2, items.Count()); Item item1 = items.SingleOrDefault(i => i.Id == "item1"); Assert.NotNull(item1); Assert.Equal("name1", item1.Name); Item item2 = items.SingleOrDefault(i => i.Id == "item2"); Assert.NotNull(item2); Assert.Equal("name2", item2.Name); }
public ActionResult ViewAuctionDetails(AuctionViewModel model) { var bidRepo = new BidRepository(); var aucRepo = new AuctionRepository(); var userRepo = new UserRepository(); var auction = aucRepo.GetAuctionById(model.Id); model.Bid = aucRepo.GetHighestBid(model.Id); var returnModel = auction.ConvertToViewModel(); if (model.NextBid.Price > (auction.MinPrice + auction.Interval) && model.NextBid.Price > model.Bid.Price) { model.NextBid.Auction = auction; model.NextBid.Active = true; model.NextBid.Date = DateTime.Now; model.NextBid.User = userRepo.GetUserById(1); bidRepo.InsertBid(model.NextBid); auction.Bids.Add(model.NextBid); returnModel.Bid = model.NextBid; returnModel.ErrorMessage = "Bud på auktionen er godkendt!"; } else { returnModel.Bid = model.Bid; returnModel.ErrorMessage = "Bud for lavt!"; } return(View(returnModel)); }
public void GetBidsForItemReturnBidsSuccessfully() { BidRepository repo = new BidRepository(); repo.Items.Add(new Item("item1", "name1")); repo.Bids.Add(new Bid("bid1", "item1", "user1", 2)); repo.Bids.Add(new Bid("bid2", "item1", "user2", 3)); BidTracker tracker = new BidTracker(repo); List <Bid> bids = tracker.GetBids("item1").ToList(); Assert.Equal(2, bids.Count()); Bid bid1 = bids.SingleOrDefault(b => b.Id == "bid1"); Assert.NotNull(bid1); Assert.Equal(2, bid1.Amount); Assert.Equal("item1", bid1.ItemId); Assert.Equal("user1", bid1.UserId); Bid bid2 = bids.SingleOrDefault(b => b.Id == "bid2"); Assert.NotNull(bid2); Assert.Equal(3, bid2.Amount); Assert.Equal("item1", bid2.ItemId); Assert.Equal("user2", bid2.UserId); }
public void testAddBid() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "Add_bid_to_db") .Options; int price = 230; string description = "This is how much you owe me"; var start = new DateTime(2017 / 01 / 12); var end = new DateTime(2017 / 01 / 12); Bid bid = new Bid(); bid.bidPrice = price; bid.description = description; bid.startDate = start; bid.endDate = end; using (ApplicationDbContext context = new ApplicationDbContext(options)) { IBidRepository bidRepo = new BidRepository(context); bidRepo.AddBid(bid); bidRepo.Save(); } // Use a separate instance of the context to verify correct data was saved to database using (var context = new ApplicationDbContext(options)) { IBidRepository bidRepo = new BidRepository(context); var bidRecieved = bidRepo.GetBidByID(bid.bidId); Assert.True(bidRecieved.bidPrice == price); } }
public void AuctionTestInitialize() { Console.Out.Write("AuctionTestInitialize called..."); _auctionRepository = new AuctionRepository(); _artworkRepository = new ArtworkRepository(); _bidRepository = new BidRepository(); _auction = new Auction(); }
public void BidTestInitialize() { Console.Out.Write("BidTestInitialize called..."); _bidRepository = new BidRepository(); _auctionRepository = new AuctionRepository(); _userRepository = new UserRepository(); _bid = new Bid(); }
public void GetItemsBidOnByUserWithoutUserIdThrowsException(string userId) { BidRepository repo = new BidRepository(); BidTracker tracker = new BidTracker(repo); var ex = Assert.Throws <ArgumentNullException>(() => tracker.GetItemsBidOn(userId)); Assert.Contains("A user id must be specified.", ex.Message); }
public AuctionService() { _unitOfWork = new UnitOfWork(new AnonymousBidderDataContext()); _filePathRepository = new FilePathRepository(_unitOfWork); _auctionRepository = new AuctionRepository(_unitOfWork); _abUserRepository = new ABUserRepository(_unitOfWork); _userRoleRepository = new UserRoleRepository(_unitOfWork); _bidRepository = new BidRepository(_unitOfWork); }
public void BidAddedWithoutUserIdThrowsException(string userId) { BidRepository repo = new BidRepository(); BidTracker tracker = new BidTracker(repo); var ex = Assert.Throws <ArgumentNullException>(() => tracker.AddBid("item1", 1, userId)); Assert.Contains("A user id must be specified.", ex.Message); }
public void BidAddedWithInvalidAmountThrowsException(decimal bidAmount) { BidRepository repo = new BidRepository(); BidTracker tracker = new BidTracker(repo); var ex = Assert.Throws <ArgumentException>(() => tracker.AddBid("item1", bidAmount, "user1")); Assert.Contains("The bid amount must be greater than 0.", ex.Message); }
public void BidAddedToNonExistingItemThrowsException() { BidRepository repo = new BidRepository(); BidTracker tracker = new BidTracker(repo); InvalidBidException exception = Assert.Throws <InvalidBidException>(() => tracker.AddBid("item1", 1, "user1")); Assert.Equal("An item with id 'item1' does not exist.", exception.Message); }
public void GetWinningBidForItemWithoutItemIdThrowsException(string itemId) { BidRepository repo = new BidRepository(); BidTracker tracker = new BidTracker(repo); var ex = Assert.Throws <ArgumentNullException>(() => tracker.GetWinningBid(itemId)); Assert.Contains("An item id must be specified.", ex.Message); }
public ServerImpl() { conferenceRepository = new ConferenceRepository(); editionRepository = new EditionRepository(); paperRepo = new PaperRepository(); bidRepo = new BidRepository(); userRepo = new UserRepository(); reviewRepo = new ReviewRepository(); reviewerRepo = new ReviewerRepository(); }
public void GetWinningBidWhenThereAreNoBidsReturnsNull() { BidRepository repo = new BidRepository(); repo.Items.Add(new Item("item1", "name1")); BidTracker tracker = new BidTracker(repo); Bid bid = tracker.GetWinningBid("item1"); Assert.Null(bid); }
public void GetItemsBidOnByUserWhenUserHasNotBidReturnsNoItems() { BidRepository repo = new BidRepository(); repo.Items.Add(new Item("item1", "name1")); repo.Bids.Add(new Bid("bid1", "item1", "user1", 2)); repo.Bids.Add(new Bid("bid2", "item1", "user2", 3)); BidTracker tracker = new BidTracker(repo); IEnumerable <Item> items = tracker.GetItemsBidOn("user3"); Assert.Empty(items); }
public void BidLowerThanWinningBidThrowsException() { BidRepository repo = new BidRepository(); repo.Items.Add(new Item("item1", "name1")); repo.Bids.Add(new Bid("bid1", "item1", "user1", 2)); repo.Bids.Add(new Bid("bid2", "item1", "user2", 3)); BidTracker tracker = new BidTracker(repo); InvalidBidException exception = Assert.Throws <InvalidBidException>(() => tracker.AddBid("item1", 1, "user3")); Assert.Equal("Bid too low. The current highest bid is 3.", exception.Message); }
public void testPostBid() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "Post_bid_db") .Options; using (var context = new ApplicationDbContext(options)) { IBidRepository bidRepo = new BidRepository(context); var mockConnectionManager = new Mock <IConnectionManager>(); var controller = new BidsAPIController(context, bidRepo, mockConnectionManager.Object); OkObjectResult getResult = (OkObjectResult)controller.GetAll(); List <Bid> bidList = (List <Bid>)getResult.Value; Assert.True(bidList.Count == 0); } using (var context = new ApplicationDbContext(options)) { int price = 230; string description = "This is how much you owe me"; var start = new DateTime(2017 / 01 / 12); var end = new DateTime(2017 / 01 / 12); Bid bid = new Bid(); bid.bidPrice = price; bid.description = description; bid.startDate = start; bid.endDate = end; IBidRepository bidRepo = new BidRepository(context); var mockConnectionManager = new Mock <IConnectionManager>(); var controller = new BidsAPIController(context, bidRepo, mockConnectionManager.Object); controller.Post(bid); } using (var context = new ApplicationDbContext(options)) { IBidRepository bidRepo = new BidRepository(context); var mockConnectionManager = new Mock <IConnectionManager>(); var controller = new BidsAPIController(context, bidRepo, mockConnectionManager.Object); OkObjectResult getResult = (OkObjectResult)controller.GetAll(); List <Bid> bidList = (List <Bid>)getResult.Value; Assert.True(bidList.Count == 1); } }
public void GetWinningBidReturnsSuccessfully() { BidRepository repo = new BidRepository(); repo.Items.Add(new Item("item1", "name1")); repo.Bids.Add(new Bid("bid1", "item1", "user1", 2)); repo.Bids.Add(new Bid("bid2", "item1", "user2", 4)); repo.Bids.Add(new Bid("bid3", "item1", "user3", 3)); BidTracker tracker = new BidTracker(repo); Bid bid = tracker.GetWinningBid("item1"); Assert.NotNull(bid); Assert.Equal("item1", bid.ItemId); Assert.Equal(4, bid.Amount); Assert.Equal("user2", bid.UserId); Assert.Equal("bid2", bid.Id); }
public void testDeleteBid() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "Delete_bid_from_db") .Options; int price = 230; string description = "This is how much you owe me"; var start = new DateTime(2017 / 01 / 12); var end = new DateTime(2017 / 01 / 12); Bid bid = new Bid(); bid.bidPrice = price; bid.description = description; bid.startDate = start; bid.endDate = end; using (ApplicationDbContext context = new ApplicationDbContext(options)) { IBidRepository bidRepo = new BidRepository(context); bidRepo.AddBid(bid); bidRepo.Save(); } // Use a seperate instance of the context to verify correct data was saved to the db using (var context = new ApplicationDbContext(options)) { Assert.True(context.Bid.Count() == 1); } using (var context = new ApplicationDbContext(options)) { IBidRepository bidRepo = new BidRepository(context); bidRepo.DeleteBid(bid.bidId); bidRepo.Save(); } using (var context = new ApplicationDbContext(options)) { Assert.True(context.Bid.Count() == 0); } }
public void UserCanCreateBidSuccessfully() { BidRepository repo = new BidRepository(); repo.Items.Add(new Item("item1", "name1")); repo.Bids.Add(new Bid("bid1", "item1", "user1", 2)); repo.Bids.Add(new Bid("bid2", "item1", "user2", 3)); BidTracker tracker = new BidTracker(repo); Bid bid = tracker.AddBid("item1", 5, "user3"); Assert.Equal(3, repo.Bids.Count); // Retrieve the newly created bid and check its values. Bid newBid = repo.Bids.Single(b => b.Id == bid.Id); Assert.Equal(5, newBid.Amount); Assert.Equal("item1", newBid.ItemId); Assert.Equal("user3", newBid.UserId); }
/// <summary>Initializes a new instance of the <see cref="BidService"/> class.</summary> /// <param name="bidRepository">The review repository.</param> public BidService(BidRepository bidRepository) { this.bidRepository = bidRepository; }
/// <summary> /// Initializes a new instance of the <see cref="BidService"/> class. /// </summary> /// <param name="bidRepository">The Bid repository.</param> /// <param name="auctionService">The Bid service.</param> public BidService(BidRepository bidRepository, AuctionService auctionService) { this.bidRepository = bidRepository; this.auctionService = auctionService; }
public HomeController(BidRepository bidRepository) { this.bidRepo = bidRepository; }
public AuctionController() { userFactory = new UserRepository(); bidFactory = new BidRepository(); }