Пример #1
0
 def setUp(self) -> None:
     self.fixture = fixtures.InvoiceFixture()
     self.invoice = self.fixture.invoice
     self.patcher = mock.patch('waldur_mastermind.invoices.utils.pdfkit')
     self.content = b'pdf content'
     mock_pdfkit = self.patcher.start()
     mock_pdfkit.from_string.return_value = self.content
Пример #2
0
    def setUp(self):
        self.fixture1 = invoice_fixtures.InvoiceFixture()
        self.fixture2 = invoice_fixtures.InvoiceFixture()

        invoice_factories.InvoiceItemFactory(
            invoice=self.fixture1.invoice,
            project=self.fixture1.project,
            unit=invoice_models.InvoiceItem.Units.QUANTITY,
            unit_price=10,
            quantity=10,
        )
        invoice_factories.InvoiceItemFactory(
            invoice=self.fixture2.invoice,
            project=self.fixture2.project,
            unit=invoice_models.InvoiceItem.Units.QUANTITY,
            unit_price=20,
            quantity=5,
        )
Пример #3
0
    def setUp(self):
        self.fixture = fixtures.InvoiceFixture()
        self.url = factories.InvoiceFactory.get_url(self.fixture.invoice,
                                                    action='send_notification')
        self.fixture.invoice.state = models.Invoice.States.CREATED
        self.fixture.invoice.save(update_fields=['state'])

        self.patcher = mock.patch('waldur_mastermind.invoices.utils.pdfkit')
        mock_pdfkit = self.patcher.start()
        mock_pdfkit.from_string.return_value = b'PDF'
Пример #4
0
    def test_invoice_item_is_not_created_for_pending_resource_in_new_month(
            self):
        with freeze_time('2017-01-15'):
            fixture = fixtures.InvoiceFixture()
            fixture.invoice_item

        with freeze_time('2017-02-01'):
            tasks.create_monthly_invoices()

        self.assertEqual(models.InvoiceItem.objects.count(), 1)
Пример #5
0
    def test_invoice_item_is_created_for_created_resource_in_new_month(self):
        with freeze_time('2017-01-15'):
            fixture = fixtures.InvoiceFixture()
            fixture.resource.set_state_ok()
            fixture.resource.save()

        with freeze_time('2017-02-01'):
            tasks.create_monthly_invoices()

        self.assertEqual(models.InvoiceItem.objects.count(), 2)
Пример #6
0
    def setUp(self):
        self.fixture = fixtures.InvoiceFixture()

        self.customer = self.fixture.customer
        self.customer.agreement_number = 100
        self.customer.contact_details = 'Contact details'
        self.customer.save()

        self.invoice = self.fixture.invoice
        self.invoice.set_created()
        self.invoice_item = self.fixture.invoice_item
Пример #7
0
    def test_invoice_created_signal_is_emitted_on_monthly_invoice_creation(
            self, invoice_created_mock):
        fixture = fixtures.InvoiceFixture()
        invoice = fixture.invoice
        invoice.set_created()

        new_invoice = models.Invoice.objects.get(
            customer=fixture.customer, state=models.Invoice.States.CREATED)
        invoice_created_mock.send.assert_called_once_with(
            invoice=new_invoice,
            sender=models.Invoice,
            issuer_details=settings.WALDUR_INVOICES['ISSUER_DETAILS'],
        )
Пример #8
0
    def setUp(self):
        self.fixture = invoice_fixtures.InvoiceFixture()

        invoice_factories.InvoiceItemFactory(
            invoice=self.fixture.invoice,
            project=self.fixture.project,
            unit=invoice_models.InvoiceItem.Units.PER_MONTH,
            unit_price=100,
            quantity=1,
        )
        invoice_factories.InvoiceItemFactory(
            invoice=self.fixture.invoice,
            project=self.fixture.project,
            unit=invoice_models.InvoiceItem.Units.PER_DAY,
            unit_price=3,
            quantity=1,
        )
Пример #9
0
    def test_all_active_organizations_are_rendered_in_one_invoice(self):
        # First customer is active and it his invoice has one item
        self.customer.accounting_start_date = timezone.now(
        ) - datetime.timedelta(days=50)
        self.customer.save()

        # Second customer is active and his invoice has one item
        fixture = fixtures.InvoiceFixture()
        invoice = fixture.invoice
        invoice.customer.accounting_start_date = timezone.now(
        ) - datetime.timedelta(days=50)
        invoice.customer.save()
        invoice.year = 2017
        invoice.month = 10
        invoice.save()
        fixture.invoice_item

        lines = self.send_report()
        # Report has invoice items for both organizations
        self.assertEqual(2, len(lines))
Пример #10
0
    def test_delete_invoice_items_if_project_customer_has_been_changed(self):
        fixture = fixtures.InvoiceFixture()
        invoice_item = fixture.invoice_item
        invoice_item.resource = fixture.resource
        invoice_item.save()

        new_customer = structure_factories.CustomerFactory()
        today = timezone.now()
        date = core_utils.month_start(today)
        (
            new_customer_invoice,
            create,
        ) = registrators.RegistrationManager.get_or_create_invoice(
            new_customer, date)
        self.assertFalse(
            new_customer_invoice.items.filter(
                resource=fixture.resource).exists())
        move_project(fixture.resource.project, new_customer)
        self.assertFalse(
            fixture.invoice.items.filter(resource=fixture.resource).exists())
        self.assertTrue(
            new_customer_invoice.items.filter(
                resource=fixture.resource).exists())
Пример #11
0
 def setUp(self):
     self.fixture = fixtures.InvoiceFixture()
Пример #12
0
 def setUp(self):
     self.fixture = fixtures.InvoiceFixture()
     self.item = self.fixture.invoice_item
Пример #13
0
 def setUp(self):
     self.fixture = fixtures.InvoiceFixture()
     self.url = factories.InvoiceFactory.get_url(self.fixture.invoice,
                                                 action='set_backend_id')
Пример #14
0
 def setUp(self):
     self.fixture = fixtures.InvoiceFixture()
     self.invoice = self.fixture.invoice
     self.invoice.state = models.Invoice.States.CREATED
     self.invoice.save()
     self.url = factories.InvoiceFactory.get_url(self.invoice, 'paid')