def test_update_a_product_commit_error(self): """ Update a product and raises an InvalidRequestError """ product = Product(name="iPhone X", description="Black iPhone", category="Technology", price=999.99) product.create() self.assertEqual(product.id, 1) # Change it and update it product.price = 9999.99 product.description = "White iPhone" with patch('service.models.db.session.commit') as commit: commit.side_effect = InvalidRequestError product.update() products = Product.all() self.assertEqual(len(products), 1) self.assertEqual(products[0].price, 999.99) self.assertEqual(products[0].description, "Black iPhone")
def test_update_a_product(self): """ Update a Product """ product = Product(name="iPhone X", description="Black iPhone", category="Technology", price=999.99) product.create() self.assertEqual(product.id, 1) # Change it and update it product.price = 9999.99 product.description = "White iPhone" product.update() self.assertEqual(product.id, 1) # Fetch it back and make sure the id hasn't changed # but the data did change products = Product.all() self.assertEqual(len(products), 1) self.assertEqual(products[0].price, 9999.99) self.assertEqual(products[0].description, "White iPhone")