class TestUpdate(ProductTest): def setUp(self): ProductTest.setUp(self) self.product2 = Product( quote_id=1, name="Test2", material="Material2", acabado="Acabado2", cristal="Cristal2" ) self.product2.add() def test_should_update_product_given_valid_name(self): self.product.name = "New Name" self.product.update() self.db.session.rollback() self.assertEqual(self.product.name, "New Name") def test_should_update_product_given_repeated_name(self): self.product2.name = "Test" self.product2.update() self.db.session.rollback() self.assertEqual(self.product2.name, "Test")
class TestUpdate(ProductRequestTest): def setUp(self): ProductRequestTest.setUp(self) self.product2 = Product(quote_id=1, name="Test2", material="Material2", acabado="Acabado2", cristal="Cristal2") self.product2.add() def test_should_update_product_given_valid_data(self): product_request = ProductRequest(self.product) url = url_for('quote.edit', id=self.quote.id) product_data = dict(name1="New Name", material1="Material", acabado1="Acabado", cristal1="Cristal") with self.request_context(url, product_data): product_request.update() self.db.session.rollback() self.assertEqual(self.product.name, "New Name") def test_should_not_update_product_given_invalid_data(self): product_request = ProductRequest(self.product) url = url_for('quote.edit', id=self.quote.id) product_data = dict(name1="", material1="", acabado1="", cristal1="") with self.request_context(url, product_data): product_request.update() self.db.session.rollback() self.assertEqual(self.product.name, "Test")
class ProductValidationTest(MyTest): def setUp(self): MyTest.setUp(self) self.product = Product(quote_id=1, name="Test", material="Material", acabado="Acabado", cristal="Cristal") self.product.add() self.quote = Quote.new(1)
def add_product(self, product): new_product = Product( quote_id=self.id, name=product.name, material=product.material, acabado=product.acabado, cristal=product.cristal, unit_price=product.unit_price ) new_product.add()
def test_should_not_return_error_given_repeated_values(self): product = Product(quote_id=1, name="Test", material="Material", acabado="Acabado", cristal="Cristal") product.add() product_validation = ProductValidation(product) error = product_validation.validate() self.assertEqual(error, None)
def test_should_add_product_given_empty_values(self): product = Product( quote_id=1, name="", material="", acabado="", cristal="" ) product.add() self.assertIn(product, self.db.session)
def test_should_add_product_given_repeated_values(self): product = Product( quote_id=1, name="Test", material="Material", acabado="Acabado", cristal="Cristal" ) product.add() self.assertIn(product, self.db.session)
def test_should_return_error_given_invalid_products(self): quote_validation = QuoteValidation(self.quote) product = Product( quote_id=1, name="", material="", acabado="", cristal="" ) product.add() error = quote_validation.validate_products()
def test_should_not_return_error_given_valid_products(self): quote_validation = QuoteValidation(self.quote) product = Product( quote_id=1, name="Valid name", material="Valid Material", acabado="Valid Acabado", cristal="Valid Cristal" ) product.add() error = quote_validation.validate_products() self.assertEqual(error, None)
class TestGetAll(ProductTest): def setUp(self): ProductTest.setUp(self) self.product2 = Product( quote_id=1, name="Test2", material="Material2", acabado="Acabado2", cristal="Cristal2" ) self.product2.add() def test_should_return_all_products(self): products = Product.get_all() self.assertEqual(products, [self.product, self.product2])
class QuoteRequestTest(MyTest): def setUp(self): MyTest.setUp(self) self.quote = Quote.new(1) self.customer = Customer( name="Test", email="*****@*****.**", phone="123 456 7890", address="Test address" ) self.customer.add() self.product = Product( quote_id=1, name="Test", material="Material", acabado="Acabado", cristal="Cristal" ) self.product.add()