Esempio n. 1
0
    def test_trigger_create(self):
        """
        Create the star trigger, check if it does it's work
        """

        data = {
            "code": "star",
            "condition": "NEW.hit_views >= 1000 ",
            "name": "Star",
            "trigger_condition": "update",
            "trigger_table": "dummy_sketch",
            "user_field": "user_id"
        }
        create_trigger(data)

        self.assertEqual(Badge.objects.count(), 0)
        users = User.objects.all()[:10]
        for user in users:
            fixture = AutoFixture(
                Sketch,
                field_values={"user": user, "hit_views": 0})
            sketch = fixture.create(1)[0]
            sketch.hit_views = 1000
            sketch.save()
        self.assertEqual(Badge.objects.count(), 10)
Esempio n. 2
0
    def test_trigger_create(self):
        """
        Create the pionner trigger, check if it does it's work
        """
        data = {
            "code": "pionner",
            "condition": "age(NEW.date_joined) > interval '1 year'",
            "name": "Pionner",
            "trigger_condition": "update",
            "trigger_table": "auth_user",
            "user_field": "id"
        }
        create_trigger(data)

        self.assertEqual(Badge.objects.count(), 0)
        users = User.objects.all()[:10]
        for user in users:
            user.date_joined = user.date_joined - datetime.timedelta(days=370)
            user.save()
        self.assertEqual(Badge.objects.count(), 10)
Esempio n. 3
0
    def test_trigger_create(self):
        """
        Create the collector trigger, check if it does it's work
        """

        data = {
            "code": "collector",
            "condition": "count(id) >= 5 from dummy_sketch where user_id = NEW.user_id",  # noqa
            "name": "Collector",
            "trigger_condition": "insert",
            "trigger_table": "dummy_sketch",
            "user_field": "user_id"
        }
        create_trigger(data)

        self.assertEqual(Badge.objects.count(), 0)
        users = User.objects.all()[:10]
        for user in users:
            fixture = AutoFixture(
                Sketch,
                field_values={"user": user})
            fixture.create(5)
        self.assertEqual(Badge.objects.count(), 10)