public void When_there_are_lots_of_products_Must_paginate() { // Arrangе var category = CreateCategory(); Repeat(() => CreateProduct(category), 50); Db.SaveChanges(); // Act var cmd = new ListProductsByCategoryCommand(Db); var result = cmd.Execute(category.Id); // Assert AssertSuccess(result); Assert.AreEqual(50, result.Value.TotalCount, "Вернулось неправильное кол-во товаров в категории"); Assert.AreEqual(25, result.Value.Count, "Возвратилось неправильное кол-во товаров первой страницы"); // Act 2 var result2 = cmd.Execute(category.Id, 30); // Assert 2 AssertSuccess(result2); Assert.AreEqual(50, result2.Value.TotalCount, "Вернулось неправильное кол-во товаров в категории"); Assert.AreEqual(20, result2.Value.Count, "Возвратилось неправильное кол-во товаров второй страницы"); }
public void Must_list_products_only_by_specified_category() { // Arrange Repeat(() => CreateProduct(), 2); var category = CreateCategory(); Repeat(() => CreateProduct(category), 2); Db.SaveChanges(); // Act var cmd = new ListProductsByCategoryCommand(Db); var result = cmd.Execute(category.Id); // Assert AssertSuccess(result); Assert.AreEqual(2, result.Value.Count, "Возвратилось неверное кол-во товаров"); Assert.IsTrue(result.Value.All(p => p.CategoryId == category.Id), "Возвратились товары из другой категории"); }
public void Must_list_products() { // Arrange var category = CreateCategory(); Repeat(() => CreateProduct(category), 2); Db.SaveChanges(); // Act var cmd = new ListProductsByCategoryCommand(Db); var result = cmd.Execute(category.Id); // Assert AssertSuccess(result); Assert.IsTrue(result.Value.Any(), "Не возвратились продукты"); Assert.AreEqual(2, result.Value.Count, "Возвратились не все продукты, либо врозвратились лишние"); Assert.IsTrue(result.Value.All(p => p.Params.Any()), "Не возвратились параметры продуктов"); }