def test_get_proformas(self): batch_size = 50 ProformaFactory.create_batch(batch_size) url = reverse('proforma-list') response = self.client.get(url) assert response.status_code == status.HTTP_200_OK response = self.client.get(url + '?page=2') assert response.status_code == status.HTTP_200_OK
def test_add_single_proforma_entry(self): ProformaFactory.create_batch(10) url = reverse('proforma-entry-create', kwargs={'document_pk': 1}) entry_data = { "description": "Page views", "unit_price": 10.0, "quantity": 20 } response = self.client.post(url, data=json.dumps(entry_data), content_type='application/json') proforma = Proforma.objects.get(pk=1) total = Decimal(200.0) * Decimal(1 + proforma.sales_tax_percent / 100) assert response.status_code == status.HTTP_201_CREATED assert response.data == { 'description': 'Page views', 'unit': None, 'quantity': '20.0000', 'unit_price': '10.0000', 'start_date': None, 'end_date': None, 'prorated': False, 'product_code': None, 'total': total, 'total_before_tax': Decimal(200.0) } url = reverse('proforma-detail', kwargs={'pk': 1}) response = self.client.get(url) invoice_entries = response.data.get('proforma_entries', None) assert len(invoice_entries) == 1 assert invoice_entries[0] == { 'description': 'Page views', 'unit': None, 'quantity': '20.0000', 'unit_price': '10.0000', 'start_date': None, 'end_date': None, 'prorated': False, 'product_code': None, 'total': total, 'total_before_tax': Decimal(200.0) }