Ejemplo n.º 1
0
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")
Ejemplo n.º 2
0
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")
Ejemplo n.º 3
0
 def setUp(self):
     ProductRequestTest.setUp(self)
     self.product2 = Product(quote_id=1,
                             name="Test2",
                             material="Material2",
                             acabado="Acabado2",
                             cristal="Cristal2")
     self.product2.add()
 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)
Ejemplo n.º 5
0
 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()
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
    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_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)
Ejemplo n.º 9
0
 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()
Ejemplo n.º 10
0
class ProductTest(MyTest):

    def setUp(self):
        MyTest.setUp(self)
        self.product = Product(
            quote_id=1,
            name="Test",
            material="Material",
            acabado="Acabado",
            cristal="Cristal"
        )
        self.product.add()
Ejemplo n.º 11
0
    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)
Ejemplo n.º 12
0
    def get_product(self):
        try:
            product = Product.search(request.form['name'])
        except KeyError:
            product = None

        return product
Ejemplo n.º 13
0
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])
Ejemplo n.º 14
0
    def new_product(self):
        form = get_form(empty_form)
        product = Product.search(form["name"])
        if product:
            form = empty_form
        product = self.make_product(form)

        return product
Ejemplo n.º 15
0
    def make_product(self, form):
        product = Product(quote_id=self.quote.id,
                          name=form['name'],
                          material=form['material'],
                          acabado=form['acabado'],
                          cristal=form['cristal'],
                          unit_price=0)

        return product
 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()
    def test_should_return_error_given_empty_values(self):
        product = Product(quote_id=1,
                          name="",
                          material="",
                          acabado="",
                          cristal="")
        product_validation = ProductValidation(product)
        error = product_validation.check_for_empty_values()

        self.assertNotEqual(error, None)
Ejemplo n.º 18
0
 def __init__(self):
     self.products = Product.get_all()
     self.heads = [
         "name",
         "material",
         "acabado",
         "cristal"
     ]
     self.data = self.get_empty_data()
     self.add_data()
Ejemplo n.º 19
0
    def test_should_not_add_product_given_invalid_product(self):
        product = Product(quote_id=1,
                          name="",
                          material="",
                          acabado="",
                          cristal="")
        product_request = ProductRequest(product)
        product_request.add()

        self.assertNotIn(product, self.db.session)
Ejemplo n.º 20
0
    def test_should_add_product_given_valid_product(self):
        product = Product(quote_id=1,
                          name="Test two",
                          material="Material",
                          acabado="Acabado",
                          cristal="Cristal")
        product_request = ProductRequest(product)
        product_request.add()

        self.assertIn(product, self.db.session)
    def test_should_return_error_given_invalid_unit_price(self):
        product = Product(quote_id=1,
                          name="Test",
                          material="Material",
                          acabado="Acabado",
                          cristal="Cristal",
                          unit_price="invalid unit_price")
        product_validation = ProductValidation(product)
        error = product_validation.validate_unit_price()

        self.assertNotEqual(error, None)
    def test_should_not_return_error_given_valid_product(self):
        product = Product(quote_id=1,
                          name="Test",
                          material="Material",
                          acabado="Acabado",
                          cristal="Cristal",
                          unit_price=10,
                          cantidad=1)
        product_validation = ProductValidation(product)
        error = product_validation.validate()

        self.assertEqual(error, None)
    def test_should_not_save_changes_given_invalid_data(self):
        quote_request = QuoteRequest(self.quote)
        url = url_for('quote.edit', id=self.quote.id)
        quote_data = dict(
            customer_name="",
            email="test.email.com",
            address="New address",
            name1="",
            material1="New Material",
            acabado1="",
            cristal1="New Cristal",
            name="Test Two",
            material="",
            acabado="Acabado two",
            cristal="Cristal two"
        )
        with self.request_context(url, quote_data):
            quote_request.edit()
        self.db.session.rollback()

        self.assertEqual(self.customer.name, "Test")
        self.assertEqual(self.product.name, "Test")
        self.assertNotEqual(self.quote.address, "New address")
        self.assertEqual(len(Product.get_all()), 1)
Ejemplo n.º 24
0
 def test_should_return_product_given_valid_id(self):
     product = Product.get(1)
     
     self.assertEqual(product, self.product)
Ejemplo n.º 25
0
    def test_should_return_none_given_invalid_id(self):
        product = Product.get(2)

        self.assertEqual(product, None)
Ejemplo n.º 26
0
    def test_should_return_all_products(self):
        products = Product.get_all()

        self.assertEqual(products, [self.product, self.product2])
Ejemplo n.º 27
0
def delete(id):
    product = Product.get(id)
    quote_id = product.quote.id
    product.delete()

    return redirect(url_for('quote.edit', id=quote_id))
Ejemplo n.º 28
0
def rotate_window(id):
    product = Product.get(id)
    product.orientation.rotate_window()

    return redirect(url_for('quote.edit', id=product.quote_id))