public void ShouldFilterListOfCartsByUserId() { // Arrange var cartService = Substitute.For <CartServiceProvider>(); var carts1 = new[] { new Cart { ExternalId = "1001", UserId = "Bob" } }; var carts2 = new[] { new Cart { ExternalId = "1001", UserId = "Stan" } }; var carts = carts1.Union(carts2); cartService.GetCarts(Arg.Is <GetCartsRequest>(r => r.Shop.Name == "mystore")).Returns(new GetCartsResult { Carts = carts }); cartService.GetCarts(Arg.Is <GetCartsRequest>(r => r.Shop.Name == "mystore" && r.UserIds.Contains("Bob"))).Returns(new GetCartsResult { Carts = carts1 }); CartsController controller = new CartsController(cartService); using (new SiteContextSwitcher(new TSiteContext("mystore"))) { // Act var result = controller.Get(userId: "Bob"); // Assert result.Count().Should().Be(1); result.ElementAt(0).ExternalId.Should().Be("1001"); result.ElementAt(0).UserId.Should().Be("Bob"); } }
public void ShouldGetListOfCartsForContextShop() { // Arrange var cartService = Substitute.For <CartServiceProvider>(); var carts = new[] { new Cart { ExternalId = "1001" }, new Cart { ExternalId = "1002" } }; cartService.GetCarts(Arg.Is <GetCartsRequest>(r => r.Shop.Name == "mystore")).Returns(new GetCartsResult { Carts = carts }); CartsController controller = new CartsController(cartService); using (new SiteContextSwitcher(new TSiteContext("mystore"))) { // Act var result = controller.Get(); // Assert result.Count().Should().Be(2); result.ElementAt(0).ExternalId.Should().Be("1001"); result.ElementAt(1).ExternalId.Should().Be("1002"); } }