def test_invalid_change_due(self): self.sales_data["change_due"] = -399 response = self.query_with_token(self.access_token, create_sale.format(**self.sales_data)) self.assertIsNotNone(response['errors']) self.assertEqual(response['errors'][0]['message'], "The Change due should not be less than 0")
def test_invalid_paid_amount(self): self.sales_data["paid_amount"] = -590 response = self.query_with_token(self.access_token, create_sale.format(**self.sales_data)) self.assertIsNotNone(response['errors']) self.assertEqual(response['errors'][0]['message'], "The paid amount should be greater than 1")
def test_with_invalid_payment_method(self): self.sales_data['payment_method'] = "credit-card-cash" self.sales_data['amount_to_pay'] = faker.random_int(min=1, max=100) response = self.query_with_token(self.access_token, create_sale.format(**self.sales_data)) message = SALES_ERROR_RESPONSES['invalid_payment'] self.assertEqual(response['errors'][0]['message'], message)
def test_invalid_discount(self): self.sales_data["discount_total"] = -48.5 response = self.query_with_token(self.access_token, create_sale.format(**self.sales_data)) self.assertIsNotNone(response['errors']) self.assertEqual(response['errors'][0]['message'], "Discount must be greater between 0 and 100")
def test_buy_items_with_less_credit(self): self.sales_data['payment_method'] = "credit" self.sales_data['amount_to_pay'] = faker.random_int(min=600) response = self.query_with_token(self.access_token, create_sale.format(**self.sales_data)) message = SALES_ERROR_RESPONSES['less_credit'] self.assertEqual(response['errors'][0]['message'], message)
def test_create_sale_successfully(self): self.create_receipt_template() response = self.query_with_token(self.access_token, create_sale.format(**self.sales_data)) message = SALES_SUCCESS_RESPONSES["create_sales_success"] self.assertNotIn("errors", response) self.assertEqual(response['data']['createSale']['message'], message)
def test_non_existing_batch(self): self.sales_data["batchId"] = 10000 response = self.query_with_token(self.access_token, create_sale.format(**self.sales_data)) self.assertIsNotNone(response['errors']) self.assertEqual( response['errors'][0]['message'], ERROR_RESPONSES['no_matching_ids'].format('BatchInfo', 10000))
def test_buy_items_with_credit(self): self.sales_data['payment_method'] = "credit" self.sales_data['amount_to_pay'] = faker.random_int(min=1, max=100) response = self.query_with_token(self.access_token, create_sale.format(**self.sales_data)) message = SALES_SUCCESS_RESPONSES["create_sales_success"] self.assertNotIn("errors", response) self.assertEqual(response['data']['createSale']['message'], message)
def test_invalid_product_discount(self): self.sales_data["discount"] = -12 response = self.query_with_token(self.access_token, create_sale.format(**self.sales_data)) self.assertIsNotNone(response['errors']) self.assertEqual( response['errors'][0]['message'], SALES_ERROR_RESPONSES['negative_discount'].format( self.sales_data['batchId']))
def test_less_stock_than_actual_sale(self): self.sales_data["quantity"] = 500 response = self.query_with_token(self.access_token, create_sale.format(**self.sales_data)) self.assertIsNotNone(response['errors']) self.assertEqual( response['errors'][0]['message'], SALES_ERROR_RESPONSES['less_quantities'].format( self.sales_data['batchId']))
def test_mail_receipt_to_customer(self): self.create_receipt_template() sale_creation_mutation = self.query_with_token( self.access_token, create_sale.format(**self.sales_data, customer_id=self.customer_1.id)) receipt_id = sale_creation_mutation['data']['createSale']['receipt'][ 'id'] response = self.query_with_token( self.access_token, mail_receipt.format(receipt_id=receipt_id)) self.assertEqual(RECEIPT_SUCCESS_RESPONSES["mailer_success"], response['data']['mailReceipt']['message'])
def test_mail_receipt_without_email(self): self.create_receipt_template() sale_creation_mutation = self.query_with_token( self.access_token, create_sale.format(**self.sales_data, customer_id=self.customer.id)) receipt_id = sale_creation_mutation['data']['createSale']['receipt'][ 'id'] response = self.query_with_token( self.access_token, mail_receipt.format(receipt_id=receipt_id)) self.assertEqual(RECEIPT_ERROR_RESPONSES['mailer_no_email'], response['errors'][0]['message'])
def test_buy_items_with_wrong_credit_currency(self): wallet_2 = CustomerCreditFactory() sales_data_2 = self.sales_data sales_data_2['payment_method'] = "credit" sales_data_2['amount_to_pay'] = faker.random_int(min=1, max=100) sales_data_2['customer_id'] = wallet_2.customer_id response = self.query_with_token(self.access_token, create_sale.format(**sales_data_2)) message = SALES_ERROR_RESPONSES['wrong_currency'] self.assertEqual(response['errors'][0]['message'], message)