Exemplo n.º 1
0
    def test_add_two_of_a_product(self):
        cart = ShoppingCart()
        product = Product('shoes', 'S', 'blue')

        cart.add_product(product, quantity=2)

        self.assertDictEqual({'SHOES-S-BLUE': {'quantity': 2}}, cart.products)
Exemplo n.º 2
0
    def test_add_and_remove_product(self):
        cart = ShoppingCart()
        product = Product('shoes', 'S', 'blue')

        cart.add_product(product)
        cart.remove_product(product)

        self.assertDictEqual({}, cart.products)
Exemplo n.º 3
0
    def test_remove_too_many_products(self):
        cart = ShoppingCart()
        product = Product('shoes', 'S', 'blue')

        cart.add_product(product)
        cart.remove_product(product, quantity=2)

        self.assertDictEqual({}, cart.products)
Exemplo n.º 4
0
    def test_add_and_remove_product(self):
        cart = ShoppingCart()  # <2>
        product = Product('shoes', 'S', 'blue')  # <3>

        cart.add_product(product)  # <4>
        cart.remove_product(product)  # <5>

        self.assertDictEqual({}, cart.products)  # <6>
Exemplo n.º 5
0
    def test_add_two_products(self):
        cart = ShoppingCart()
        product1 = Product('shoes', 'S', 'blue')
        product2 = Product('tshirt', 'M', 'black')

        cart.add_product(product1)
        cart.add_product(product2)

        expected_cart_value = {'SHOES-S-BLUE':{'quantity': 1}, 'TSHIRT-M-BLACK':{'quantity':1}}
        self.assertDictEqual(expected_cart_value, cart.products)
Exemplo n.º 6
0
    def test_add_and_remove_product(self):
        """
        We can consider this an integration test as it tests a chain of functional units
        """
        cart = ShoppingCart()
        product = Product('Cap', 'M', 'Orange')

        # these are two distinct actions
        cart.add_product(product)
        cart.remove_product(product)

        self.assertDictEqual({}, cart.products)
Exemplo n.º 7
0
    def test_add_two_different_products(self):
        cart = ShoppingCart()
        product_one = Product('shoes', 'S', 'blue')
        product_two = Product('shirt', 'M', 'gray')

        cart.add_product(product_one)
        cart.add_product(product_two)

        self.assertDictEqual(
            {
                'SHOES-S-BLUE': {
                    'quantity': 1
                },
                'SHIRT-M-GRAY': {
                    'quantity': 1
                }
            }, cart.products)