public void SaveProduct_WithInvalidExistingProduct_Throws() { var handler = Host.Resolve <Api.Handlers.ProductHandler>(); var nonExistentProduct = new Models.Product { Id = int.MaxValue }; Assert.Throws <ArgumentException>(() => handler.Save(nonExistentProduct)); }
public void SaveProduct_WithExistingProduct_Updates() { var handler = Host.Resolve <Api.Handlers.ProductHandler>(); Models.Product result = null; Assert.DoesNotThrow(() => handler.Save(Product.EmptyProduct)); Assert.DoesNotThrow(() => result = handler.Get(Product.EmptyProduct.Id)); Assert.DoesNotThrow( () => Product.EmptyProduct .ThrowIfInequivalentWithAttribute <Models.Product, EqualityCheckAttribute>(result)); }
public void SaveProduct_WithNewProduct_Creates() { var handler = Host.Resolve <Api.Handlers.ProductHandler>(); Models.Product result = null; var newProduct = new Models.Product { Title = "New product from test", Description = "New product from test description" }; Assert.DoesNotThrow(() => newProduct = handler.Save(newProduct)); Assert.GreaterOrEqual(newProduct.Id, 1); Assert.DoesNotThrow(() => result = handler.Get(newProduct.Id)); Assert.DoesNotThrow( () => newProduct.ThrowIfInequivalentWithAttribute <Models.Product, EqualityCheckAttribute>( result)); }