def test_signal_multi_users_and_categs(self): base1 = BaseRestrictionFactory.create() user1 = base1.user categ1 = base1.category user = UserFactory.create(email='*****@*****.**') cg = CategoryGroupFactory.create(name='noog') categ = CategoryFactory.create(name='nooo', group=cg) base = BaseRestrictionFactory.create(user=user, category=categ, value=50) t = expenses.models.Transaction(value=10, user=user, category=categ, date=datetime.date(2013, 12, 23)) t.save() t = expenses.models.Transaction(value=23, user=user, category=categ, date=datetime.date(2013, 12, 11)) t.save() self.assertNotEquals(base1, base) self.assertNotEquals(categ1, categ) self.assertNotEquals(user1, user) self.assertEquals(MonthlyCategoryRestriction.objects.count(), 1) mr = MonthlyCategoryRestriction.objects.get() self.assertEquals(mr.month, datetime.date(2013, 12, 1)) self.assertEquals(mr.value, base.value) self.assertEquals(mr.baserestriction, base)
def test_signal_skip_empty_base(self): user = UserFactory.create(email='*****@*****.**') cg = CategoryGroupFactory.create(name='noog') categ = CategoryFactory.create(name='nooo', group=cg) t = expenses.models.Transaction(value=10, user=user, category=categ, date=datetime.date(2013, 12, 23)) t.save() t = expenses.models.Transaction(value=23, user=user, category=categ, date=datetime.date(2013, 12, 11)) t.save() self.assertEquals(MonthlyCategoryRestriction.objects.count(), 0)
def test_unique_base_restriction(self): user = UserFactory.create() category = CategoryFactory.create() restr = BaseCategoryRestriction() restr.user = user restr.category = category restr.value = 123.45 restr.save() restr2 = BaseCategoryRestriction() restr2.user = user restr2.category = category restr.value = 2231.11 self.assertRaises(django.db.IntegrityError, restr2.save)