Example #1
0
 def __init__(self, *args, **kwargs):
     super(TierChangeForm, self).__init__(*args, **kwargs)
     self.tier_info = SiteTierInfo.objects.get_current()
     self.fields['tier'].queryset = self.tier_info.available_tiers.all()
     if 'tier' in self.initial:
         self.initial['token'] = make_tier_change_token(
                                                      self.initial['tier'])
Example #2
0
 def __init__(self, *args, **kwargs):
     super(TierChangeForm, self).__init__(*args, **kwargs)
     self.tier_info = SiteTierInfo.objects.get_current()
     self.fields['tier'].queryset = self.tier_info.available_tiers.all()
     if 'tier' in self.initial:
         self.initial['token'] = make_tier_change_token(
             self.initial['tier'])
    def test_valid(self):
        """
        If everything is right, the form should come back valid.

        """
        token = make_tier_change_token(self.tier1)
        form = TierChangeForm({'tier': self.tier1.slug, 'token': token})
        self.assertTrue(form.is_valid())
    def test_valid(self):
        """
        If everything is right, the form should come back valid.

        """
        token = make_tier_change_token(self.tier1)
        form = TierChangeForm({'tier': self.tier1.slug, 'token': token})
        self.assertTrue(form.is_valid())
    def test_same_tier(self):
        """
        The form should be invalid if the tier we're changing to is the same
        as the current tier.

        """
        self.assertEqual(self.tier_info.tier, self.tier2)
        token = make_tier_change_token(self.tier2)
        form = TierChangeForm({'tier': self.tier2.slug, 'token': token})
        self.assertFalse(form.is_valid())
        self.assertEqual(form.errors.keys(), ['tier'])
    def test_bad_slug(self):
        """
        The form should be invalid if the slug given doesn't refer to an
        available tier.

        """
        tier3 = self.create_tier(name='Tier3', slug='tier3', price=30)
        token = make_tier_change_token(tier3)
        form = TierChangeForm({'tier': tier3.slug, 'token': token})
        self.assertFalse(form.is_valid())
        self.assertEqual(form.errors.keys(), ['tier'])
    def test_same_tier(self):
        """
        The form should be invalid if the tier we're changing to is the same
        as the current tier.

        """
        self.assertEqual(self.tier_info.tier, self.tier2)
        token = make_tier_change_token(self.tier2)
        form = TierChangeForm({'tier': self.tier2.slug, 'token': token})
        self.assertFalse(form.is_valid())
        self.assertEqual(form.errors.keys(), ['tier'])
    def test_bad_slug(self):
        """
        The form should be invalid if the slug given doesn't refer to an
        available tier.

        """
        tier3 = self.create_tier(name='Tier3', slug='tier3', price=30)
        token = make_tier_change_token(tier3)
        form = TierChangeForm({'tier': tier3.slug, 'token': token})
        self.assertFalse(form.is_valid())
        self.assertEqual(form.errors.keys(), ['tier'])
    def test_save(self):
        """
        Saving the form should update the last tier changed date and actually
        change the tier.

        """
        token = make_tier_change_token(self.tier1)
        form = TierChangeForm({'tier': self.tier1.slug, 'token': token})
        self.assertTrue(form.is_valid())
        self.assertEqual(self.tier_info.tier, self.tier2)
        old_tier_changed = self.tier_info.tier_changed
        form.save()
        self.assertEqual(self.tier_info.tier, self.tier1)
        self.assertGreater(self.tier_info.tier_changed, old_tier_changed)
    def test_save(self):
        """
        Saving the form should update the last tier changed date and actually
        change the tier.

        """
        token = make_tier_change_token(self.tier1)
        form = TierChangeForm({'tier': self.tier1.slug, 'token': token})
        self.assertTrue(form.is_valid())
        self.assertEqual(self.tier_info.tier, self.tier2)
        old_tier_changed = self.tier_info.tier_changed
        form.save()
        self.assertEqual(self.tier_info.tier, self.tier1)
        self.assertGreater(self.tier_info.tier_changed, old_tier_changed)