public void FinaliseAuction(string itemId) { var bids = _auctionBidRepository.GetListByItemId(itemId); var @event = new Event <AuctionFinaliseEventData>() { Data = new AuctionFinaliseEventData() { ItemId = itemId }, EventName = AuctionFinaliseEventData.EventName }; @event.TargetQueues.Add(QueueConstants.AuctionEndFinalise); if (bids.Any()) { var highestBid = bids.OrderByDescending(x => x.BidPrice).First(); @event.Data.HighestBiderId = highestBid.UserId; @event.Data.HighestPrice = highestBid.BidPrice; } else { @event.Data.HighestBiderId = null; @event.Data.HighestPrice = 0; } _jobService.PublishEvent(@event); }
public void Should_Finalise_Auction_With_Null_Value_If_No_Bids() { var testItemId = "TEST_ITEM_ID"; _bidService.FinaliseAuction(testItemId); _mockAuctionBidRepository.GetListByItemId(Arg.Any <string>()).Returns(new List <AuctionBid>()); _mockJobService.Received(1).PublishEvent(Arg.Is <Event <AuctionFinaliseEventData> >( e => e.EventName == AuctionFinaliseEventData.EventName && e.Data.ItemId == testItemId && e.Data.HighestBiderId == null && e.Data.HighestPrice == 0)); }