Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
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
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 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')
Exemplo n.º 5
0
    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()
Exemplo n.º 6
0
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()})
Exemplo n.º 7
0
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, ['*****@*****.**'])
Exemplo n.º 8
0
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)