def setUp(self): self.comission_plan = ComissionPlan(lower_percentage=2.5, upper_percentage=10.5, min_value=5000.0) self.comission_plan.save() self.seller_address = Address(pk=None, street="Rua abcd", number="123", city="Brasília", state="DF", country="BR") self.seller_address.save() self.seller = Seller(cpf="12345678910", name="José", last_name="Vendedor", age=30, email="*****@*****.**", phone="48012345678", address=self.seller_address, comission_plan=self.comission_plan) self.seller.save() Vendas(month=1, seller=self.seller, amount=1000.0).save() Vendas(month=2, seller=self.seller, amount=500.0).save() Vendas(month=3, seller=self.seller, amount=1100.0).save()
def _set_up_seller(): comission_plan = ComissionPlan(lower_percentage=2.5, upper_percentage=10.5, min_value=5000.0) comission_plan.save() seller_address = Address(pk=None, street="Rua abcd", number="123", city="Brasília", state="DF", country="BR") seller_address.save() seller = Seller(cpf="12345678910", name="José", last_name="Vendedor", age=30, email="*****@*****.**", phone="48012345678", address=seller_address, comission_plan=comission_plan) seller.save() return seller
def test_to_dict_when_valid_product_expected_dict(self): dict = { 'title': 'productTitle', 'price': 1, 'id_product': 'productId', 'seller': 'sellerName', 'qt_stock': 0, 'status': 'A' } seller = Seller() seller.name = "sellerName" product = Product() product.title = "productTitle" product.price = 1 product.id_product = "productId" product.seller = seller product.qt_stock = 0 product.status = "A" self.assertEquals(product.to_dict(), dict)
def setUpTestData(cls): seller = Seller() seller.name = "sellerName" seller.seller_id = 1 Seller.objects.create(name="sellerName", seller_id=1) Product.objects.create(title="cadeira", price=5, id_product="32", qt_stock=8, seller_id=1, status='A') Product.objects.create(title="mesa", price=15, id_product="8", qt_stock=3, seller_id=1, status='A') Product.objects.create(title="computador", price=1000, id_product="6", qt_stock=1, seller_id=1, status='A')
def setUp(self): self.comission_plan = ComissionPlan(lower_percentage=5, upper_percentage=10, min_value=2000.0) self.comission_plan.save() self.seller_address = Address(pk=None, street="Rua tal", number="10", city="sao paulo", state="SP", country="Brasil") self.seller_address.save() self.seller = Seller(cpf="12345612396", name="Rob", last_name="Vendedor", age=29, email="*****@*****.**", phone="11970750623", address=self.seller_address, comission_plan=self.comission_plan) self.seller.save()
def post_seller (request): payload = json.loads(request.body) name = payload.get("name") seller_id = payload.get("seller_id") #status_seller = payload.get("status_seller") seller = Seller() seller.name = name seller.seller_id = seller_id #seller.status_seller= 'A' seller.save() return JsonResponse ({"sellers": seller.to_dict()})
class CheckComissionAPITest(TestCase): def setUp(self): self.comission_plan = ComissionPlan(lower_percentage=2.5, upper_percentage=10.5, min_value=5000.0) self.comission_plan.save() self.seller_address = Address(pk=None, street="Rua abcd", number="123", city="Brasília", state="DF", country="BR") self.seller_address.save() self.seller = Seller(cpf="12345678910", name="José", last_name="Vendedor", age=30, email="*****@*****.**", phone="48012345678", address=self.seller_address, comission_plan=self.comission_plan) self.seller.save() Vendas(month=1, seller=self.seller, amount=1000.0).save() Vendas(month=2, seller=self.seller, amount=500.0).save() Vendas(month=3, seller=self.seller, amount=1100.0).save() def test_check_comission_without_notification(self): current_sales = { 'seller': self.seller.id, 'amount': 970.0, } response = self.client.post('/check_commision/', current_sales) self.assertEqual(response.status_code, status.HTTP_200_OK) # Parses response body and check data. body = response.json() self.assertFalse(body['should_notify']) self.assertEqual(len(mail.outbox), 0) def test_check_comission_with_notification(self): current_sales = { 'seller': self.seller.id, 'amount': 966.0, } response = self.client.post('/check_commision/', current_sales) self.assertEqual(response.status_code, status.HTTP_200_OK) # Parses response body and check data. body = response.json() self.assertTrue(body['should_notify']) self.assertEqual(len(mail.outbox), 1) self.assertEqual(mail.outbox[0].to, ['*****@*****.**']) def test_check_comission_without_notification_more_months(self): Vendas(month=4, seller=self.seller, amount=700.0).save() Vendas(month=5, seller=self.seller, amount=650.0).save() Vendas(month=6, seller=self.seller, amount=800.0).save() current_sales = { 'seller': self.seller.id, 'amount': 841.0, } response = self.client.post('/check_commision/', current_sales) self.assertEqual(response.status_code, status.HTTP_200_OK) # Parses response body and check data. body = response.json() self.assertFalse(body['should_notify']) self.assertEqual(len(mail.outbox), 0) def test_check_comission_with_notification_more_months(self): Vendas(month=4, seller=self.seller, amount=700.0).save() Vendas(month=5, seller=self.seller, amount=650.0).save() Vendas(month=6, seller=self.seller, amount=800.0).save() current_sales = { 'seller': self.seller.id, 'amount': 839.0, } response = self.client.post('/check_commision/', current_sales) self.assertEqual(response.status_code, status.HTTP_200_OK) # Parses response body and check data. body = response.json() self.assertTrue(body['should_notify']) self.assertEqual(len(mail.outbox), 1) self.assertEqual(mail.outbox[0].to, ['*****@*****.**'])
class SalesAPITest(TestCase): def setUp(self): self.comission_plan = ComissionPlan(lower_percentage=5, upper_percentage=10, min_value=2000.0) self.comission_plan.save() self.seller_address = Address(pk=None, street="Rua tal", number="10", city="sao paulo", state="SP", country="Brasil") self.seller_address.save() self.seller = Seller(cpf="12345612396", name="Rob", last_name="Vendedor", age=29, email="*****@*****.**", phone="11970750623", address=self.seller_address, comission_plan=self.comission_plan) self.seller.save() def test_submit_month_comission_low(self): sale = { 'amount': 1000, 'seller': self.seller.id, 'comission': self.seller.comission_plan.id, 'month': 1, 'year': 2018 } response = self.client.post('/month_comission/', sale) self.assertEqual(response.status_code, status.HTTP_201_CREATED) # Parses response body and check data. body = response.json() self.assertEqual(body['id'], 1) self.assertEqual(body['comission'], 50) def test_submit_month_comission_up(self): sale = { 'amount': 2000, 'seller': self.seller.id, 'comission': self.seller.comission_plan.id, 'month': 1, 'year': 2018 } response = self.client.post('/month_comission/', sale) self.assertEqual(response.status_code, status.HTTP_201_CREATED) # Parses response body and check data. body = response.json() self.assertEqual(body['id'], 1) self.assertEqual(body['comission'], 200) def test_submit_month_comission_invalid_year(self): sale = { 'amount': 2000, 'seller': self.seller.id, 'comission': self.seller.comission_plan.id, 'month': 1, 'year': 2020 } response = self.client.post('/month_comission/', sale) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)