コード例 #1
0
    def test_save_edit(self):
        """ Previously-created ConditionalOffer, Benefit, and Condition instances should be updated. """
        offer = factories.ProgramOfferFactory()
        data = self.generate_data(program_uuid=offer.condition.program_uuid, benefit_type=Benefit.FIXED)
        self.mock_program_detail_endpoint(data['program_uuid'], self.site_configuration.discovery_api_url)
        form = ProgramOfferForm(request=self.request, data=data, instance=offer)
        form.is_valid()
        form.save()

        offer.refresh_from_db()
        self.assert_program_offer_conditions(offer, data['program_uuid'], data['benefit_value'], data['benefit_type'],
                                             'Discount for the Test Program MicroMockers Program')
コード例 #2
0
 def test_save_create(self):
     """ A new ConditionalOffer, Benefit, and Condition should be created. """
     data = self.generate_data()
     self.mock_program_detail_endpoint(data['program_uuid'], self.site_configuration.discovery_api_url)
     form = ProgramOfferForm(request=self.request, data=data)
     form.is_valid()
     offer = form.save()
     self.assert_program_offer_conditions(offer, data['program_uuid'], data['benefit_value'], data['benefit_type'],
                                          'Discount for the Test Program MicroMockers Program')
コード例 #3
0
 def test_save_offer_name(self):
     """ If a request object is sent, the offer name should include program title and type. """
     data = self.generate_data()
     self.mock_program_detail_endpoint(data['program_uuid'], self.site_configuration.discovery_api_url)
     form = ProgramOfferForm(request=self.request, data=data)
     form.is_valid()
     offer = form.save()
     self.assert_program_offer_conditions(offer, data['program_uuid'], data['benefit_value'], data['benefit_type'],
                                          'Discount for the Test Program MicroMockers Program')
コード例 #4
0
 def test_save_without_commit(self):
     """ No data should be persisted to the database if the commit kwarg is set to False. """
     data = self.generate_data()
     form = ProgramOfferForm(request=self.request, data=data)
     self.mock_program_detail_endpoint(data['program_uuid'], self.site_configuration.discovery_api_url)
     form.is_valid()
     instance = form.save(commit=False)
     self.assertIsNone(instance.pk)
     self.assertFalse(hasattr(instance, 'benefit'))
     self.assertFalse(hasattr(instance, 'condition'))
コード例 #5
0
 def test_save_create(self):
     """ A new ConditionalOffer, Benefit, and Condition should be created. """
     data = self.generate_data()
     self.mock_program_detail_endpoint(data['program_uuid'])
     form = ProgramOfferForm(request=self.request, data=data)
     form.is_valid()
     offer = form.save()
     self.assert_program_offer_conditions(offer, data['program_uuid'],
                                          data['benefit_value'],
                                          data['benefit_type'])
コード例 #6
0
 def test_save_offer_name(self):
     """ If a request object is sent, the offer name should include program title and type. """
     data = self.generate_data()
     self.mock_program_detail_endpoint(data['program_uuid'])
     form = ProgramOfferForm(request=self.request, data=data)
     form.is_valid()
     offer = form.save()
     self.assert_program_offer_conditions(offer, data['program_uuid'],
                                          data['benefit_value'],
                                          data['benefit_type'])
コード例 #7
0
 def test_save_create_special_char_title(self):
     """ When the title is international, A new ConditionalOffer, Benefit, and Condition should still be created."""
     data = self.generate_data()
     self.mock_program_detail_endpoint(data['program_uuid'],
                                       self.site_configuration.discovery_api_url,
                                       title=u'Sp\xe1nish Program')
     form = ProgramOfferForm(request=self.request, data=data)
     form.is_valid()
     offer = form.save()
     self.assert_program_offer_conditions(offer, data['program_uuid'], data['benefit_value'], data['benefit_type'],
                                          'Discount for the Spánish Program MicroMockers Program')