class TestResourceHandling(ActivityTestCase):

    def setUp(self):
        super(TestResourceHandling, self).setUp()
        self.center = NotificationCenter()

    def test_add_watcher_to_a_resource(self):
        hugo = create(Builder('watcher').having(actorid='hugo'))
        create(Builder('watcher').having(actorid='peter'))
        res = create(Builder('resource').oguid('fd:1234'))

        res.add_watcher('hugo', TASK_ISSUER_ROLE)
        self.assertEquals([hugo], res.watchers)

    def test_fetch_return_resource_by_means_of_oguid(self):
        resource_a = create(Builder('resource').oguid('fd:123'))
        resource_b = create(Builder('resource').oguid('fd:456'))

        self.assertEquals(resource_a,
                          self.center.fetch_resource(Oguid('fd', '123')))
        self.assertEquals(resource_b,
                          self.center.fetch_resource(Oguid('fd', '456')))

    def test_fetch_return_none_when_resource_not_exists(self):
        self.assertEquals(None,
                          self.center.fetch_resource(Oguid('fd', '123')))

    def test_adding(self):
        resource = self.center.add_resource(Oguid('fd', '123'))

        self.assertEquals(1, len(Resource.query.all()))
        resource = Resource.query.first()
        self.assertEquals(Oguid('fd', '123'), resource.oguid)
        self.assertEquals('fd', resource.admin_unit_id)
        self.assertEquals(123, resource.int_id)
Esempio n. 2
0
class TestResourceHandling(ActivityTestCase):

    def setUp(self):
        super(TestResourceHandling, self).setUp()
        self.center = NotificationCenter()

    def test_add_watcher_to_a_resource(self):
        hugo = create(Builder('watcher').having(actorid='hugo'))
        peter = create(Builder('watcher').having(actorid='peter'))
        res = create(Builder('resource').oguid('fd:1234'))

        res.add_watcher('hugo', TASK_ISSUER_ROLE)
        self.assertEquals([hugo], res.watchers)

    def test_fetch_return_resource_by_means_of_oguid(self):
        resource_a = create(Builder('resource').oguid('fd:123'))
        resource_b = create(Builder('resource').oguid('fd:456'))

        self.assertEquals(resource_a,
                          self.center.fetch_resource(Oguid('fd', '123')))
        self.assertEquals(resource_b,
                          self.center.fetch_resource(Oguid('fd', '456')))

    def test_fetch_return_none_when_resource_not_exists(self):
        self.assertEquals(None,
                          self.center.fetch_resource(Oguid('fd', '123')))

    def test_adding(self):
        resource = self.center.add_resource(Oguid('fd', '123'))

        self.assertEquals(1, len(Resource.query.all()))
        resource = Resource.query.first()
        self.assertEquals(Oguid('fd', '123'), resource.oguid)
        self.assertEquals('fd', resource.admin_unit_id)
        self.assertEquals(123, resource.int_id)
Esempio n. 3
0
class TestAddActivity(ActivityTestCase):
    def setUp(self):
        super(TestAddActivity, self).setUp()
        self.center = NotificationCenter()

    def test_add_resource_if_not_exists(self):
        self.center.add_activity(Oguid('fd', '123'), 'task_added',
                                 {'en': 'Kennzahlen 2014 erfassen'},
                                 {'en': 'Task added'},
                                 {'en': 'Task bla added by Hugo'}, 'hugo.boss',
                                 {'en': None})

        resource = self.center.fetch_resource(Oguid('fd', '123'))
        self.assertEquals('fd', resource.admin_unit_id)
        self.assertEquals(123, resource.int_id)

    def test_creates_notifications_for_each_resource_watcher(self):
        peter = create(Builder('watcher').having(actorid='peter'))
        hugo = create(Builder('watcher').having(actorid='hugo'))

        resource_a = create(
            Builder('resource').oguid('fd:123').watchers([hugo, peter]))

        activity = self.center.add_activity(Oguid('fd', '123'), 'TASK_ADDED', {
            'en': 'Kennzahlen 2014 erfassen'
        }, {
            'en': 'Task bla added'
        }, {
            'en': 'Task bla added by Hugo'
        }, 'hugo.boss', {
            'en': None
        }).get('activity')

        notification = Notification.query.by_user('peter').first()
        self.assertEquals(activity, notification.activity)
        self.assertEquals(resource_a, notification.activity.resource)
        self.assertFalse(notification.is_read)

        notification = Notification.query.by_user('hugo').first()
        self.assertEquals(activity, notification.activity)
        self.assertEquals(resource_a, notification.activity.resource)
        self.assertFalse(notification.is_read)

    def test_does_not_create_an_notification_for_the_actor(self):
        peter = create(Builder('watcher').having(actorid='peter'))
        hugo = create(Builder('watcher').having(actorid='hugo'))

        create(Builder('resource').oguid('fd:123').watchers([hugo, peter]))

        self.center.add_activity(Oguid('fd', '123'), 'TASK_ADDED',
                                 {'en': 'Kennzahlen 2014 erfassen'},
                                 {'en': 'Task accepted'},
                                 {'en': 'Task bla added by Peter'}, 'peter',
                                 {'en': None})

        self.assertEquals(1, Notification.query.by_user('hugo').count())
        self.assertEquals(0, Notification.query.by_user('peter').count())
Esempio n. 4
0
class TestAddActivity(ActivityTestCase):

    def setUp(self):
        super(TestAddActivity, self).setUp()
        self.center = NotificationCenter()

    def test_add_resource_if_not_exists(self):
        self.center.add_activity(
            Oguid('fd', '123'),
            'task_added',
            {'en': 'Kennzahlen 2014 erfassen'},
            {'en': 'Task added'},
            {'en': 'Task bla added by Hugo'},
            'hugo.boss',
            {'en': None})


        resource = self.center.fetch_resource(Oguid('fd', '123'))
        self.assertEquals('fd', resource.admin_unit_id)
        self.assertEquals(123, resource.int_id)

    def test_creates_notifications_for_each_resource_watcher(self):
        peter = create(Builder('watcher').having(actorid='peter'))
        hugo = create(Builder('watcher').having(actorid='hugo'))

        resource_a = create(Builder('resource').oguid('fd:123')
                            .watchers([hugo, peter]))

        activity = self.center.add_activity(
            Oguid('fd', '123'),
            'TASK_ADDED',
            {'en': 'Kennzahlen 2014 erfassen'},
            {'en': 'Task bla added'},
            {'en': 'Task bla added by Hugo'},
            'hugo.boss',
            {'en': None}).get('activity')

        notification = Notification.query.by_user('peter').first()
        self.assertEquals(activity, notification.activity)
        self.assertEquals(resource_a, notification.activity.resource)
        self.assertFalse(notification.is_read)

        notification = Notification.query.by_user('hugo').first()
        self.assertEquals(activity, notification.activity)
        self.assertEquals(resource_a, notification.activity.resource)
        self.assertFalse(notification.is_read)

    def test_does_not_create_an_notification_for_the_actor(self):
        peter = create(Builder('watcher').having(actorid='peter'))
        hugo = create(Builder('watcher').having(actorid='hugo'))

        create(Builder('resource').oguid('fd:123').watchers([hugo, peter]))

        self.center.add_activity(
            Oguid('fd', '123'),
            'TASK_ADDED',
            {'en': 'Kennzahlen 2014 erfassen'},
            {'en': 'Task accepted'},
            {'en': 'Task bla added by Peter'},
            'peter',
            {'en': None})

        self.assertEquals(1, Notification.query.by_user('hugo').count())
        self.assertEquals(0, Notification.query.by_user('peter').count())