Esempio n. 1
0
 def setUpTestData(cls):
     """Prep an invoice with two enrolments with £50 and £100 outstanding
     Todo: figure out a concise way to do this
     """
     cls.user = User(username='******')
     cls.invoice = factories.InvoiceFactory()
     fees = [FeeFactory(amount=50), FeeFactory(amount=100)]
     cls.enrolments = [EnrolmentFactory(module=fee.module) for fee in fees]
     for fee, enrolment in zip(fees, cls.enrolments):
         transaction = finance_services.add_enrolment_fee(
             enrolment_id=enrolment.id, fee_id=fee.id, user=cls.user)
         services.attach_transaction_to_invoice(transaction=transaction,
                                                invoice=cls.invoice)
Esempio n. 2
0
 def setUpTestData(cls):
     super().setUpTestData()
     # Setup an enrolment with fees owing. todo: consider a factory for this sort of case
     cls.enrolment = EnrolmentFactory()
     fee = FeeFactory(module=cls.enrolment.module)
     services.add_enrolment_fee(enrolment_id=cls.enrolment.id, fee_id=fee.id, user=cls.user)
     cls.url = reverse('finance:choose-multiple-enrolments', args=[cls.enrolment.qa.student.pk])
 def test_max_discount(self):
     fee = FeeFactory()
     with self.assertRaises(ValueError):
         services.add_enrolment_fee(
             discount=100,
             enrolment_id=self.enrolment.id,
             fee_id=fee.id,
             user=self.user,
         )
 def test_adding_catering_and_accommodation(self):
     fee = FeeFactory(is_catering=True, is_single_accom=True)
     services.add_enrolment_fee(
         enrolment_id=self.enrolment.id,
         fee_id=fee.id,
         user=self.user,
     )
     self.assertEqual(self.enrolment.accommodation.count(), 1)
     self.assertEqual(self.enrolment.catering.count(), 1)
Esempio n. 5
0
 def setUpTestData(cls):
     """Prep an invoice"""
     cls.user = User(username='******')
     cls.invoice = factories.InvoiceFactory()
     fee = FeeFactory(amount=100)
     cls.enrolment = EnrolmentFactory(module=fee.module)
     transaction = finance_services.add_enrolment_fee(
         enrolment_id=cls.enrolment.id, fee_id=fee.id, user=cls.user)
     services.attach_transaction_to_invoice(transaction=transaction,
                                            invoice=cls.invoice)
Esempio n. 6
0
 def setUpTestData(cls):
     super().setUpTestData()
     # Setup an enrolment with one fee added
     cls.enrolment = factories.EnrolmentFactory()
     cls.fee = FeeFactory(module=cls.enrolment.module)
     add_enrolment_fee(
         enrolment_id=cls.enrolment.id,
         fee_id=cls.fee.id,
         user=cls.user,
     )
     cls.url = cls.enrolment.get_absolute_url()
 def setUpTestData(cls):
     cls.source = models.Module.objects.create(
         title='Source title',
         code='T00T000TTT',
     )
     cls.target = models.Module.objects.create(
         title='Target title',
         code='T01T000TTT',
     )
     FeeFactory(
         module=cls.source,
         amount=100,
     )
Esempio n. 8
0
 def test_render_places_other(self):
     fee = FeeFactory.build()
     self.assertEqual(self.table.render_places_left(fee), '—')
Esempio n. 9
0
 def test_render_places_catering(self):
     fee = FeeFactory(is_catering=True, allocation=20)
     self.assertEqual(self.table.render_places_left(fee), fee.allocation)
     fee.allocation = None
     fee.save()
     self.assertEqual(self.table.render_places_left(fee), '∞')
Esempio n. 10
0
 def test_render_places_twin(self):
     fee = FeeFactory.build(is_twin_accom=True, module=self.module)
     self.assertEqual(self.table.render_places_left(fee),
                      self.module.twin_places)
Esempio n. 11
0
 def setUpTestData(cls):
     super().setUpTestData()
     cls.enrolment = EnrolmentFactory()
     cls.fees = FeeFactory.create_batch(module=cls.enrolment.module, size=2)
     cls.url = reverse('finance:add-module-fees', args=[cls.enrolment.pk])
Esempio n. 12
0
 def setUpTestData(cls):
     super().setUpTestData()
     cls.enrolment = EnrolmentFactory()
     cls.fee = FeeFactory(module=cls.enrolment.module)
     cls.url = reverse('finance:add-fees', args=[cls.enrolment.pk])
Esempio n. 13
0
 def setUpTestData(cls):
     super().setUpTestData()
     cls.module = factories.ModuleFactory()
     FeeFactory(module=cls.module, type_id=FeeTypes.PROGRAMME, amount=500)
     cls.tutor_module = TutorModuleFactory(module=cls.module,
                                           is_teaching=True)
Esempio n. 14
0
 def setUpTestData(cls):
     cls.user = get_user_model().objects.create_user(username='******')
     cls.source_module = factories.ModuleFactory()
     cls.target_module = factories.ModuleFactory()
     cls.source_fee = FeeFactory(module=cls.source_module)
     cls.url = reverse('module:copy-fees', args=[cls.target_module.pk])