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)
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)
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())
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())