public void BuildShouldReturnOffersForMatchingBuyerId() { // Arrange var builder = new MyOffersViewModelBuilder(_context); var offers = new List <Models.Offer> { new Models.Offer { BuyerId = "1", Status = OfferStatus.Accepted, Amount = 350000, Property = new Models.Property { StreetName = "Smith Street", Description = "", IsListedForSale = true } }, new Models.Offer { BuyerId = "1", Status = OfferStatus.Accepted, Amount = 375000, Property = new Models.Property { StreetName = "Jones Street", Description = "", IsListedForSale = true } } }; var mockSet = Substitute.For <IDbSet <Models.Offer> >() .Initialize(offers.AsQueryable()); _context.Offers.Returns(mockSet); var buyerId = "1"; // Act var viewModel = builder.Build(buyerId); // Assert Assert.That(viewModel.Offers.Count, Is.EqualTo(2)); }
public void MyOffersBuyerHasOffers() { // Act var builder = new MyOffersViewModelBuilder(_context); var viewModel = builder.Build("Buyer1"); // Assert Assert.True(viewModel.HasOffers); }
public void MyOffersBuyerHasOfferAccepted() { // Act var builder = new MyOffersViewModelBuilder(_context); var viewModel = builder.Build("Buyer3"); // Assert Assert.True(viewModel.HasOffers); viewModel.MyOffers.Any(o => o.Offer.Status == OfferStatus.Accepted.ToString()); }
public void BuildShouldReturnNoOffersForABuyer() { // Arrange var builder = new MyOffersViewModelBuilder(_context); // Act var viewModel = builder.Build("999"); // Assert Assert.That(viewModel.Count, Is.EqualTo(0)); }
public void BuilderShouldReturnAcceptedOffersForUser() { // Arrange var builder = new MyOffersViewModelBuilder(_context); var properties = new List <Models.Property> { new Models.Property { Id = 1, StreetName = "Smith Street", Description = "", IsListedForSale = true }, new Models.Property { Id = 2, StreetName = "Jones Street", Description = "", IsListedForSale = true } }; var offers = new List <Offer>() { new Offer { BuyerUserId = "user1", Amount = 100000, PropertyId = 1, Status = OfferStatus.Accepted }, new Offer { BuyerUserId = "user1", Amount = 100000, PropertyId = 2, Status = OfferStatus.Rejected }, new Offer { BuyerUserId = "user2", Amount = 150000, PropertyId = 2, Status = OfferStatus.Accepted }, }; var propertiesMockSet = Substitute.For <IDbSet <Models.Property> >().Initialize(properties.AsQueryable()); var offersMockSet = Substitute.For <IDbSet <Offer> >().Initialize(offers.AsQueryable()); _context.Properties.Returns(propertiesMockSet); _context.Offers.Returns(offersMockSet); // Act var viewModel = builder.Build("user1"); // Assert Assert.That(viewModel.AcceptedOffers.Count, Is.EqualTo(1)); }
public void SetUp() { _context = Substitute.For <IOrangeBricksContext>(); _builder = new MyOffersViewModelBuilder(_context); var offersFor1 = new List <Offer>() { new Offer() { Id = 1, Amount = 1, BuyerUserId = "1", CreatedAt = DateTime.Now.AddDays(-5), Status = OfferStatus.Accepted, UpdatedAt = DateTime.Now } , new Offer() { Id = 2, Amount = 2, BuyerUserId = "2", CreatedAt = DateTime.Now, Status = OfferStatus.Rejected, UpdatedAt = DateTime.Now } , new Offer() { Id = 3, Amount = 3, BuyerUserId = "2", CreatedAt = DateTime.Now, Status = OfferStatus.Pending, UpdatedAt = DateTime.Now } , new Offer() { Id = 4, Amount = 4, BuyerUserId = "1", CreatedAt = DateTime.Now.AddDays(2), Status = OfferStatus.Rejected, UpdatedAt = DateTime.Now } }; var offersFor2 = new List <Offer>() { new Offer() { Id = 5, Amount = 5, BuyerUserId = "2", CreatedAt = DateTime.Now, Status = OfferStatus.Accepted, UpdatedAt = DateTime.Now } , new Offer() { Id = 6, Amount = 6, BuyerUserId = "1", CreatedAt = DateTime.Now, Status = OfferStatus.Pending, UpdatedAt = DateTime.Now } , new Offer() { Id = 7, Amount = 7, BuyerUserId = "1", CreatedAt = DateTime.Now.AddDays(-3), Status = OfferStatus.Pending, UpdatedAt = DateTime.Now } , new Offer() { Id = 8, Amount = 8, BuyerUserId = "2", CreatedAt = DateTime.Now, Status = OfferStatus.Rejected, UpdatedAt = DateTime.Now } }; _offers = offersFor1.Union(offersFor2).ToList(); var properties = new List <Models.Property> { new Models.Property { Id = 1, StreetName = "Smith Street", Description = "", IsListedForSale = true, Offers = offersFor1 }, new Models.Property { Id = 2, StreetName = "Jones Street", Description = "", IsListedForSale = true, Offers = offersFor2 } }; var mockSet = Substitute.For <IDbSet <Models.Property>, IQueryable <Models.Property> >() .Initialize(properties.AsQueryable(), p => p.Id); _context.Properties.Returns(mockSet); }