def test_with_two_payment_method_sales(self): # Create sale with two payments with different methods: money and bill. sale_two_methods = self.create_sale() self.add_product(sale_two_methods) self.add_payments(sale_two_methods, method_type=u'money') self.add_payments(sale_two_methods, method_type=u'bill') # The sale should appear when searching for money payments... method = PaymentMethod.get_by_name(self.store, u'money') res = SalePaymentMethodView.find_by_payment_method(self.store, method) # Initial database already has a money payment self.assertEquals(res.count(), 2) self.assertTrue(sale_two_methods in [r.sale for r in res]) # And bill payments... method = PaymentMethod.get_by_name(self.store, u'bill') res = SalePaymentMethodView.find_by_payment_method(self.store, method) # Initial database already has a bill payment self.assertEquals(res.count(), 2) self.assertTrue(sale_two_methods in [r.sale for r in res])
def test_with_two_installments_sales(self): # A sale that has two installments of the same method should appear only # once in the results. sale_two_inst = self.create_sale() self.add_product(sale_two_inst) self.add_payments(sale_two_inst, method_type=u'deposit', installments=2) method = PaymentMethod.get_by_name(self.store, u'deposit') res = SalePaymentMethodView.find_by_payment_method(self.store, method) self.assertEquals(res.count(), 1) self.assertTrue(sale_two_inst in [r.sale for r in res])
def test_with_one_payment_method_sales(self): # Let's create two sales: one with money and another with bill. sale_money = self.create_sale() self.add_product(sale_money) self.add_payments(sale_money, method_type=u'money') sale_bill = self.create_sale() self.add_product(sale_bill) self.add_payments(sale_bill, method_type=u'bill') # If we search for sales that have money payment... method = PaymentMethod.get_by_name(self.store, u'money') res = SalePaymentMethodView.find_by_payment_method(self.store, method) # Initial database already has a money payment self.assertEquals(res.count(), 2) # Only the first sale should be in the results. self.assertTrue(sale_money in [r.sale for r in res]) self.assertFalse(sale_bill in [r.sale for r in res]) # We don't have any sale with deposit payment method. method = PaymentMethod.get_by_name(self.store, u'deposit') res = SalePaymentMethodView.find_by_payment_method(self.store, method) self.assertEquals(res.count(), 0)