Example #1
0
    def setUp(self):
        Person.objects.create(
            name="Jessica Paz",
            rg="2583356",
            cpf="03278958256",
            phone="91987523698"
        )

        self.person = Person.objects.first()
        Client.objects.create(
            person=self.person
        )

        ProductService.objects.create(
            type_choice="S",
            name="AAA",
            price=100,
            commission_rate=0.1
        )

        self.client = Client.objects.first()
        self.sale_create = Sale(
            client=self.client,
            timestamp='2018-11-13T12:00:00Z'
        )
        self.sale_create.save()
        self.product = ProductService.objects.first()
        self.sale_create.product_service.add(self.product)
Example #2
0
    def setUp(self):
        self.username = "******"
        self.password = "******"
        self.user = User.objects.create_user(self.username, self.password)
        self.user.is_staff = True
        self.user.save()
        self.client.force_authenticate(user=self.user)

        self.person_1 = Person.objects.create(name="Jessica Paz",
                                              rg="2583356",
                                              cpf="03278900256",
                                              phone="91987523698")
        self.person_2 = Person.objects.create(name="Jessica Paz",
                                              rg="2583356",
                                              cpf="0327838256",
                                              phone="91987523698")

        self.seller = Seller.objects.create(person=self.person_1,
                                            salary=5500.67)

        self.client_ = Client.objects.create(person=self.person_2)

        self.service = ProductService.objects.create(type_choice="S",
                                                     name="p 2",
                                                     price=100,
                                                     commission_rate=0.1)

        self.sale_create = Sale(client=self.client_,
                                seller=self.seller,
                                timestamp='2018-11-13T12:00:00Z')
        self.sale_create.save()
        self.sale_create.product_service.add(self.service)
Example #3
0
    def setUp(self):
        Person.objects.create(
            name="Jessica Paz",
            rg="2583356",
            cpf="03278958256",
            phone="91987523698"
        )

        Person.objects.create(
            name="Roger Souza",
            rg="2583356",
            cpf="0327895726",
            phone="91987523698"
        )

        self.person_1 = Person.objects.first()
        Seller.objects.create(
            person=self.person_1,
            salary=5500.67
        )

        self.person_2 = Person.objects.last()
        Client.objects.create(
            person=self.person_2
        )

        ProductService.objects.create(
            type_choice="P",
            name="AAA",
            price=5214.65,
            commission_rate=0.02
        )

        ProductService.objects.create(
            type_choice="S",
            name="AAA",
            price=100,
            commission_rate=0.1
        )

        self.client = Client.objects.first()
        self.seller = Seller.objects.first()

        self.sale_create = Sale(
            seller=self.seller,
            client=self.client,
            timestamp='2018-11-13T12:00:00Z'
        )
        self.sale_create.save()
        self.product = ProductService.objects.first()
        self.sale_create.product_service.add(self.product)

        self.sale_create = Sale(
            seller=self.seller,
            client=self.client,
            timestamp='2018-11-16T12:00:00Z'
        )
        self.sale_create.save()
        self.service = ProductService.objects.last()
        self.sale_create.product_service.add(self.service)
Example #4
0
def add_a_sale(product, customer, marketing_source, curr_user, date):
    a_sale = Sale()
    a_sale.customer = customer
    a_sale.product = product
    a_sale.price = product.current_price
    a_sale.transaction_date = date
    a_sale.user = curr_user
    a_sale.marketing_source = marketing_source
    a_sale.save()
Example #5
0
def add_a_sale(product,customer,marketing_source,curr_user,date):
    a_sale = Sale()
    a_sale.customer = customer
    a_sale.product = product
    a_sale.price = product.current_price
    a_sale.transaction_date = date
    a_sale.user = curr_user
    a_sale.marketing_source = marketing_source
    a_sale.save()
Example #6
0
class SellerCommissionTestCase(APITestCase):
    url = '/seller-commission/'

    def setUp(self):
        self.username = "******"
        self.password = "******"
        self.user = User.objects.create_user(self.username, self.password)
        self.user.is_staff = True
        self.user.save()
        self.client.force_authenticate(user=self.user)

        self.person_1 = Person.objects.create(name="Jessica Paz",
                                              rg="2583356",
                                              cpf="03278900256",
                                              phone="91987523698")
        self.person_2 = Person.objects.create(name="Jessica Paz",
                                              rg="2583356",
                                              cpf="0327838256",
                                              phone="91987523698")

        self.person_1 = Person.objects.first()
        self.seller = Seller.objects.create(person=self.person_1,
                                            salary=5500.67)

        self.person_2 = Person.objects.last()
        self.client_ = Client.objects.create(person=self.person_2)

        self.product_1 = ProductService.objects.create(type_choice="P",
                                                       name="AAA",
                                                       price=5214.65,
                                                       commission_rate=0.02)

        self.product_2 = ProductService.objects.create(type_choice="S",
                                                       name="AAA",
                                                       price=100,
                                                       commission_rate=0.1)

        self.sale_create = Sale(client=self.client_,
                                seller=self.seller,
                                timestamp='2018-11-13T12:00:00Z')
        self.sale_create.save()
        self.product = ProductService.objects.first()
        self.service = ProductService.objects.last()
        self.sale_create.product_service.add(self.product)
        self.sale_create.product_service.add(self.service)

    def test_get_commission(self):
        data = {"total-commission": 114.29}
        response = self.client.get(
            f'{self.url}?start=2018-08-27&end=2018-12-13&cpf=03278900256')
        self.assertEqual(json.loads(response.content), data)
Example #7
0
class ClientProductsTestCase(APITestCase):
    url = '/client-most-sold/'

    def setUp(self):
        self.username = "******"
        self.password = "******"
        self.user = User.objects.create_user(self.username, self.password)
        self.user.is_staff = True
        self.user.save()
        self.client.force_authenticate(user=self.user)

        self.person_1 = Person.objects.create(name="Jessica Paz",
                                              rg="2583356",
                                              cpf="03278900256",
                                              phone="91987523698")
        self.person_2 = Person.objects.create(name="Jessica Paz",
                                              rg="2583356",
                                              cpf="0327838256",
                                              phone="91987523698")

        self.seller = Seller.objects.create(person=self.person_1,
                                            salary=5500.67)

        self.client_ = Client.objects.create(person=self.person_2)

        self.service = ProductService.objects.create(type_choice="S",
                                                     name="p 2",
                                                     price=100,
                                                     commission_rate=0.1)

        self.sale_create = Sale(client=self.client_,
                                seller=self.seller,
                                timestamp='2018-11-13T12:00:00Z')
        self.sale_create.save()
        self.sale_create.product_service.add(self.service)

    def test_client_products_per_date(self):
        data = [{
            "type_choice": "S",
            "name": "p 2",
            "price": "100.00",
            "commission_rate": 0.1,
            'description': '',
        }]
        response = self.client.get(
            f'{self.url}?start=2018-08-27 12:00&end=2018-12-13 12:00&cpf=0327838256'
        )
        self.assertEqual(json.loads(response.content), data)
Example #8
0
class SaleTestCase(TestCase):
    def setUp(self):
        Person.objects.create(
            name="Jessica Paz",
            rg="2583356",
            cpf="03278958256",
            phone="91987523698"
        )

        self.person = Person.objects.first()
        Client.objects.create(
            person=self.person
        )

        ProductService.objects.create(
            type_choice="P",
            name="AAA",
            price=5214.65,
            commission_rate=0.02
        )

        ProductService.objects.create(
            type_choice="S",
            name="AAA",
            price=100,
            commission_rate=0.1
        )

        self.client = Client.objects.first()
        self.sale_create = Sale(
            client=self.client,
            timestamp='2018-11-13T12:00:00Z'
        )
        self.sale_create.save()
        self.product = ProductService.objects.first()
        self.service = ProductService.objects.last()
        self.sale_create.product_service.add(self.product)
        self.sale_create.product_service.add(self.service)

    def test_sale_create(self):
        sale = Sale.objects.first()
        self.assertEqual(sale.client.person.name, "Jessica Paz")

    def test_total_commission(self):
        sale = Sale.objects.first()
        total_commission = sale.total_commission
        self.assertEqual(total_commission, 114.29)
import random
from core.models import Customer, Seller, Sale, SaleDetail, Product
from fixtures.gen_random_values import *

REPEAT = 200
qcustomers = Customer.objects.count()
qsellers = Seller.objects.count()
qproducts = Product.objects.count()

for i in range(REPEAT):
    c = random.randint(1, qcustomers)
    customer = Customer.objects.get(pk=c)
    s = random.randint(1, qsellers)
    seller = Seller.objects.get(pk=s)
    obj = Sale(
        customer=customer,
        seller=seller,
    )
    obj.save()
    print(obj.pk)
    for j in range(random.randint(1, 10)):
        sale = Sale.objects.get(pk=obj.pk)
        p = random.randint(1, qproducts)
        product = Product.objects.get(pk=p)
        quantity = random.randint(1, 50)
        price_sale = product.price
        ipi_sale = product.ipi
        sd = SaleDetail(
            sale=sale,
            product=product,
            quantity=quantity,
            price_sale=price_sale,
Example #10
0
class SellerTestCase(TestCase):
    def setUp(self):
        Person.objects.create(
            name="Jessica Paz",
            rg="2583356",
            cpf="03278958256",
            phone="91987523698"
        )

        Person.objects.create(
            name="Roger Souza",
            rg="2583356",
            cpf="0327895726",
            phone="91987523698"
        )

        self.person_1 = Person.objects.first()
        Seller.objects.create(
            person=self.person_1,
            salary=5500.67
        )

        self.person_2 = Person.objects.last()
        Client.objects.create(
            person=self.person_2
        )

        ProductService.objects.create(
            type_choice="P",
            name="AAA",
            price=5214.65,
            commission_rate=0.02
        )

        ProductService.objects.create(
            type_choice="S",
            name="AAA",
            price=100,
            commission_rate=0.1
        )

        self.client = Client.objects.first()
        self.seller = Seller.objects.first()

        self.sale_create = Sale(
            seller=self.seller,
            client=self.client,
            timestamp='2018-11-13T12:00:00Z'
        )
        self.sale_create.save()
        self.product = ProductService.objects.first()
        self.sale_create.product_service.add(self.product)

        self.sale_create = Sale(
            seller=self.seller,
            client=self.client,
            timestamp='2018-11-16T12:00:00Z'
        )
        self.sale_create.save()
        self.service = ProductService.objects.last()
        self.sale_create.product_service.add(self.service)


    def test_saller_create(self):
        saller = Seller.objects.get(pk=1)
        self.assertEqual(saller.person.name, "Jessica Paz")

    def test_seller_commission_per_date(self):
        seller = Seller.objects.first()
        start = "2018-11-13T12:00:00Z"
        end = "2018-11-16T12:00:00Z"
        commission_per_date = seller.commission_per_date(start, end)
        self.assertEqual(commission_per_date, 114.29)