示例#1
0
    def test_post_list_send_user_no_effect(self):
        """
        Sending "user" property should have no effect.
        It must use the logged-in user.
        """
        # Check how many are there first.
        self.assertEqual(
            BaseCategoryRestriction.objects.filter(user=self.user).count(), 2)

        # creating a new category to avoid unique clash
        category = CategoryFactory.create()

        post_data = {
            'value': Decimal(-350),
            'category': '/api/v1/category/%d' % category.id,
            'user': 2
        }

        resp = self.api_client.post(self.get_list_url(),
                                    format='json',
                                    data=post_data,
                                    authentication=self.get_credentials())
        self.assertHttpCreated(resp)

        self.assertEqual(
            BaseCategoryRestriction.objects.filter(user=self.user).count(), 3)
示例#2
0
    def setUp(self):
        super(MonthleRestrictionResourceTest, self).setUp()

        self.categories = CategoryFactory.create_batch(2)

        base_1 = BaseCategoryRestrictionFactory.create(
            user=self.user, category=self.categories[0], value=Decimal('-100'))
        base_2 = BaseCategoryRestrictionFactory.create(
            user=self.user, category=self.categories[1], value=Decimal('-200'))
        self.base_restriction = base_1

        restriction1 = MonthlyCategoryRestrictionFactory.create(
            baserestriction=base_1, month=datetime.date(2010, 10, 1))
        restriction2 = MonthlyCategoryRestrictionFactory.create(
            baserestriction=base_2, month=datetime.date(2010, 10, 1))
        self.restriction = restriction1

        # creating a restriction for another user
        self.another_base_restriction = BaseCategoryRestrictionFactory.create(
            user=self.another_user,
            category=self.categories[1],
            value=Decimal('-200'))
        self.another_restriction = MonthlyCategoryRestrictionFactory.create(
            baserestriction=self.another_base_restriction,
            month=datetime.date(2010, 10, 10))
示例#3
0
文件: tests.py 项目: marcio0/niqels
    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)
示例#4
0
    def test_post_list(self):
        # Check how many are there first.
        self.assertEqual(BaseCategoryRestriction.objects.filter(user=self.user).count(), 2)

        # creating a new category to avoid unique clash
        category = CategoryFactory.create()

        post_data = {
            'value': Decimal(-350),
            'category': '/api/v1/category/%d' % category.id
        }

        resp = self.api_client.post(self.get_list_url(), format='json', data=post_data, authentication=self.get_credentials())
        self.assertHttpCreated(resp)

        content = self.deserialize(resp)
        self.assertEquals(content, {
            u'category': {u'group': u'category group %d' % category.group_id,
                          u'id': category.pk,
                          u'is_negative': True,
                          u'name': u'category %d' % category.pk,
                          u'position': 1,
                          u'resource_uri': u'/api/v1/category/%d' % category.pk},
            u'id': 4,
            u'value': u'-350',
            u'resource_uri': u'/api/v1/threshold/category/4'
        })

        self.assertEqual(BaseCategoryRestriction.objects.filter(user=self.user).count(), 3)
示例#5
0
    def setUp(self):
        super(RestrictionResourceTest, self).setUp()

        group = CategoryGroupFactory.create()

        self.categories = CategoryFactory.create_batch(2, group=group)

        self.restriction = BaseCategoryRestrictionFactory.create(user=self.user, category=self.categories[0], value=Decimal('-100'))
        BaseCategoryRestrictionFactory.create(user=self.user, category=self.categories[1], value=Decimal('-200'))

        # creating a restriction for another user
        self.another_restriction = BaseCategoryRestrictionFactory.create(user=self.another_user, category=self.categories[1], value=Decimal('-200'))
示例#6
0
文件: tests.py 项目: marcio0/niqels
    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)
示例#7
0
文件: tests.py 项目: marcio0/niqels
    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)
示例#8
0
    def setUp(self):
        super(MonthleRestrictionResourceTest, self).setUp()

        self.categories = CategoryFactory.create_batch(2)

        base_1 = BaseCategoryRestrictionFactory.create(user=self.user, category=self.categories[0], value=Decimal('-100'))
        base_2 = BaseCategoryRestrictionFactory.create(user=self.user, category=self.categories[1], value=Decimal('-200'))
        self.base_restriction = base_1

        restriction1 = MonthlyCategoryRestrictionFactory.create(baserestriction=base_1, month=datetime.date(2010, 10, 1))
        restriction2 = MonthlyCategoryRestrictionFactory.create(baserestriction=base_2, month=datetime.date(2010, 10, 1))
        self.restriction = restriction1

        # creating a restriction for another user
        self.another_base_restriction = BaseCategoryRestrictionFactory.create(user=self.another_user, category=self.categories[1], value=Decimal('-200'))
        self.another_restriction = MonthlyCategoryRestrictionFactory.create(baserestriction=self.another_base_restriction, month=datetime.date(2010, 10, 10))
示例#9
0
    def setUp(self):
        super(RestrictionResourceTest, self).setUp()

        group = CategoryGroupFactory.create()

        self.categories = CategoryFactory.create_batch(2, group=group)

        self.restriction = BaseCategoryRestrictionFactory.create(
            user=self.user, category=self.categories[0], value=Decimal('-100'))
        BaseCategoryRestrictionFactory.create(user=self.user,
                                              category=self.categories[1],
                                              value=Decimal('-200'))

        # creating a restriction for another user
        self.another_restriction = BaseCategoryRestrictionFactory.create(
            user=self.another_user,
            category=self.categories[1],
            value=Decimal('-200'))
示例#10
0
    def test_post_list_send_user_no_effect(self):
        """
        Sending "user" property should have no effect.
        It must use the logged-in user.
        """
        # Check how many are there first.
        self.assertEqual(BaseCategoryRestriction.objects.filter(user=self.user).count(), 2)

        # creating a new category to avoid unique clash
        category = CategoryFactory.create()

        post_data = {
            'value': Decimal(-350),
            'category': '/api/v1/category/%d' % category.id,
            'user': 2
        }

        resp = self.api_client.post(self.get_list_url(), format='json', data=post_data, authentication=self.get_credentials())
        self.assertHttpCreated(resp)

        self.assertEqual(BaseCategoryRestriction.objects.filter(user=self.user).count(), 3)
示例#11
0
    def test_post_list(self):
        # Check how many are there first.
        self.assertEqual(
            BaseCategoryRestriction.objects.filter(user=self.user).count(), 2)

        # creating a new category to avoid unique clash
        category = CategoryFactory.create()

        post_data = {
            'value': Decimal(-350),
            'category': '/api/v1/category/%d' % category.id
        }

        resp = self.api_client.post(self.get_list_url(),
                                    format='json',
                                    data=post_data,
                                    authentication=self.get_credentials())
        self.assertHttpCreated(resp)

        content = self.deserialize(resp)
        self.assertEquals(
            content, {
                u'category': {
                    u'group': u'category group %d' % category.group_id,
                    u'id': category.pk,
                    u'is_negative': True,
                    u'name': u'category %d' % category.pk,
                    u'position': 1,
                    u'resource_uri': u'/api/v1/category/%d' % category.pk
                },
                u'id': 4,
                u'value': u'-350',
                u'resource_uri': u'/api/v1/threshold/category/4'
            })

        self.assertEqual(
            BaseCategoryRestriction.objects.filter(user=self.user).count(), 3)