def test_coupon_is_valid(self):

        user = User()
        user.first_name = "justin"
        user.last_name = "gray"
        user.username = "******"
        user.email = "*****@*****.**"
        user.save()

        user2 = User()
        user2.first_name = "sirius"
        user2.last_name = "gray"
        user2.username = "******"
        user2.save()

        club = Club()
        club.name = "test-test"
        club.save()

        c = Coupon()
        c.discount_amount = "10.00"
        c.permanent = True
        c.code = "aaa"
        c.expires = datetime.date.today() + datetime.timedelta(days=1)
        c.club = club
        c.save()

        o = Order()
        o.coupon = c
        o.user_prof = user.get_profile()
        o.save()

        self.assertTrue(c.is_valid(user))
        c.uses_left = 0
        self.assertTrue(c.is_valid(user))

        c.expires = datetime.date.today() - datetime.timedelta(days=1)
        self.assertTrue(c.is_valid(user))

        c.permanent = False
        self.assertFalse(c.is_valid(user))

        c.expires = datetime.date.today() + datetime.timedelta(days=1)
        c.uses_left = 1
        self.assertTrue(c.is_valid(user))
        c.uses_left = 0
        self.assertFalse(c.is_valid(user))

        c.uses_left = 1
        c.user_prof = user.get_profile()
        self.assertFalse(c.is_valid(user2))

        c.user_prof = None
        c.single_use_per_user = True
        self.assertFalse(c.is_valid(user))
    def test_coupon_is_valid(self): 
        
        user = User()
        user.first_name = "justin"
        user.last_name = "gray"
        user.username = "******"
        user.email = "*****@*****.**"
        user.save()
        
        user2 = User()
        user2.first_name = "sirius"
        user2.last_name = "gray"
        user2.username = "******"
        user2.save()

        club = Club()
        club.name ="test-test"
        club.save()
 
        c = Coupon()
        c.discount_amount = "10.00"
        c.permanent = True
        c.code = "aaa"
        c.expires = datetime.date.today() + datetime.timedelta(days=1)
        c.club = club
        c.save()
        
        o = Order()
        o.coupon = c
        o.user_prof = user.get_profile()
        o.save()
        
        self.assertTrue(c.is_valid(user))
        c.uses_left = 0
        self.assertTrue(c.is_valid(user))

        c.expires = datetime.date.today() - datetime.timedelta(days=1)    
        self.assertTrue(c.is_valid(user))

        c.permanent = False
        self.assertFalse(c.is_valid(user))

        c.expires = datetime.date.today() + datetime.timedelta(days=1)
        c.uses_left = 1
        self.assertTrue(c.is_valid(user))
        c.uses_left = 0
        self.assertFalse(c.is_valid(user))
        
        c.uses_left = 1
        c.user_prof = user.get_profile()
        self.assertFalse(c.is_valid(user2))
        
        c.user_prof = None
        c.single_use_per_user = True
        self.assertFalse(c.is_valid(user))