public void ProductRepositoryManager_CreateProductForNewCategory_InvalidProduct() { var productRepositoryManager = new ProductRepositoryManager(Resolver); CancellationToken cancellationToken = new CancellationToken(); String productName = "Product Test Name"; String productDescription = "Product Test Name"; String categoryName = "Product Test Name"; Should.NotThrow(async() => { var result = await productRepositoryManager.CreateProduct(productName, productDescription, categoryName, cancellationToken); result.ShouldNotBeNull(); // Retrieve the newly created product var products = await productRepositoryManager.GetProducts(cancellationToken); var product = products.Where(p => p.Id == result).SingleOrDefault(); product.ShouldNotBeNull(); product.Name.ShouldBe(productName); product.Description.ShouldBe(productDescription); product.Category.ShouldNotBeNull(); product.Category.Name.ShouldBe(categoryName); }); }
public void ProductRepositoryManager_DeleteProduct_ProductsReturned() { var productRepositoryManager = new ProductRepositoryManager(Resolver); CancellationToken cancellationToken = new CancellationToken(); Should.NotThrow(async() => { var result = await productRepositoryManager.DeleteProduct(ProductTestData.ProductId, cancellationToken); result.ShouldBeTrue(); }); }
public void ProductRepositoryManager_DeleteProduct_InvalidProduct() { var productRepositoryManager = new ProductRepositoryManager(Resolver); CancellationToken cancellationToken = new CancellationToken(); Should.NotThrow(async() => { var result = await productRepositoryManager.DeleteProduct(Guid.NewGuid(), cancellationToken); result.ShouldBeFalse(); }); }
public void ProductRepositoryManager_GetProductForCategory_NoProductsReturned() { var productRepositoryManager = new ProductRepositoryManager(Resolver); CancellationToken cancellationToken = new CancellationToken(); Should.NotThrow(async() => { var result = await productRepositoryManager.GetProductsForCategory(Guid.NewGuid(), cancellationToken); result.ShouldBeNull(); }); }
public void ProductRepositoryManager_CreateDuplicateProduct_InvalidProduct() { var productRepositoryManager = new ProductRepositoryManager(Resolver); CancellationToken cancellationToken = new CancellationToken(); Should.NotThrow(async() => { var result = await productRepositoryManager.CreateProduct(ProductTestData.ProductName, ProductTestData.ProductDescription, ProductTestData.CategoryName, cancellationToken); result.ShouldBe(Guid.Empty); }); }
public void ProductRepositoryManager_GetCategories_ProductsReturned() { var productRepositoryManager = new ProductRepositoryManager(Resolver); CancellationToken cancellationToken = new CancellationToken(); Should.NotThrow(async() => { var result = await productRepositoryManager.GetCategories(cancellationToken); result.ToList().ShouldNotBeNull(); result.ToList().Count().ShouldBeGreaterThan(0); var category = result.ToList()[0]; category.Id.ShouldBe(ProductTestData.CategoryId); category.Name.ShouldBe(ProductTestData.CategoryName); }); }
public void ProductRepositoryManager_GetCategories_NoProductsReturned() { // Create an empty db ProductRepositoryDbContextResolver = new Mock <Func <ProductRepositoryDbContext> >(); var builder = new DbContextOptionsBuilder <ProductRepositoryDbContext>().UseInMemoryDatabase($"Product-{Guid.NewGuid()}"); ProductRepositoryDbContext = ContextResolver(builder.Options); ProductRepositoryDbContext.SaveChanges(); Resolver = () => { return(new ProductRepositoryDbContext(builder.Options)); }; var productRepositoryManager = new ProductRepositoryManager(Resolver); CancellationToken cancellationToken = new CancellationToken(); Should.NotThrow(async() => { var result = await productRepositoryManager.GetCategories(cancellationToken); result.ShouldBeNull(); }); }
public void ProductRepositoryManager_GetProductForCategory_ProductsReturned() { var productRepositoryManager = new ProductRepositoryManager(Resolver); CancellationToken cancellationToken = new CancellationToken(); Should.NotThrow(async() => { var result = await productRepositoryManager.GetProductsForCategory(ProductTestData.CategoryId, cancellationToken); result.ToList().ShouldNotBeNull(); result.ToList().Count().ShouldBeGreaterThan(0); var product = result.ToList()[0]; product.Id.ShouldBe(ProductTestData.ProductId); product.Name.ShouldBe(ProductTestData.ProductName); product.Description.ShouldBe(ProductTestData.ProductDescription); product.Category.ShouldNotBeNull(); product.Category.Id.ShouldBe(ProductTestData.CategoryId); product.Category.Name.ShouldBe(ProductTestData.CategoryName); }); }
public void ProductRepositoryManager_CanBeCreated_IsCreated() { var productRepositoryManager = new ProductRepositoryManager(Resolver); productRepositoryManager.ShouldNotBeNull(); }