def test_clock_in_form_activity_without_project_activity_group(self): """Ensure that the ActivityLookup provides all Activities if Project does not have an activity group. """ factory = RequestFactory() lookup = ActivityLookup() factories.Activity() request = factory.get("/entry/clock_in/", {'project': self.project.pk}) response = lookup.results(request) data = json.loads(response.content.decode("utf-8"))['data'] self.assertEqual(2, len(data))
def test_clock_in_form_activity_lookup(self): """Create an ActivityGroup that includes the Activity, and associate it with the project. Add a second Activity that is not included. Ensure that the ActivityLookup disallows the second Activity. """ factory = RequestFactory() lookup = ActivityLookup() factories.Activity() activity_group = factories.ActivityGroup() activity_group.activities.add(self.activity) project2 = factories.Project(activity_group=activity_group) factories.ProjectRelationship(project=project2, user=self.user) request = factory.get("/entry/clock_in/", {'project': project2.pk}) response = lookup.results(request) data = json.loads(response.content.decode("utf-8"))['data'] self.assertEqual(1, len(data)) self.assertEqual(self.activity.pk, data[0]['id'])
class ActivityLookupTestCase(TestCase): """ Tests that the ActivityLookup used by Selectable is looking up models the way we want it to. """ def setUp(self): self.lookup = ActivityLookup() def test_get_query(self): """ Tests whether we get the right results with a non-empty query. """ activity1 = factories.Activity(name='foo') activity2 = factories.Activity(name='bar') activity3 = factories.Activity(name='baz') activity4 = factories.Activity(name='qux') activity_group = factories.ActivityGroup() activity_group.activities.add(activity1) activity_group.activities.add(activity2) activity_group.activities.add(activity3) activity_group.activities.add(activity4) project = factories.Project(activity_group=activity_group) request = RequestFactory().get('/selectable/entries-activitylookup', {'project': project.pk}) data = self.lookup.get_query(request, 'a') self.assertNotIn(activity1, data) self.assertIn(activity2, data) self.assertIn(activity3, data) self.assertNotIn(activity4, data) def test_get_query_empty(self): """ Tests whether a query with no associated project searches the entire set of activities, regardless of project. """ activity1 = factories.Activity(name='foo') activity2 = factories.Activity(name='bar') activity3 = factories.Activity(name='baz') activity4 = factories.Activity(name='qux') activity_group1 = factories.ActivityGroup() activity_group1.activities.add(activity1) activity_group1.activities.add(activity2) activity_group2 = factories.ActivityGroup() activity_group2.activities.add(activity3) activity_group2.activities.add(activity4) request = RequestFactory().get('/selectable/entries-activitylookup', {'project': ''}) data = self.lookup.get_query(request, '') self.assertIn(activity1, data) self.assertIn(activity2, data) self.assertIn(activity3, data) self.assertIn(activity4, data) data = self.lookup.get_query(request, 'a') self.assertNotIn(activity1, data) self.assertIn(activity2, data) self.assertIn(activity3, data) self.assertNotIn(activity4, data)
def setUp(self): self.lookup = ActivityLookup()
class ActivityLookupTestCase(TestCase): """ Tests that the ActivityLookup used by Selectable is looking up models the way we want it to. """ def setUp(self): self.lookup = ActivityLookup() def test_get_query(self): """ Tests whether we get the right results with a non-empty query. """ activity1 = factories.Activity(name='foo') activity2 = factories.Activity(name='bar') activity3 = factories.Activity(name='baz') activity4 = factories.Activity(name='qux') activity_group = factories.ActivityGroup() activity_group.activities.add(activity1) activity_group.activities.add(activity2) activity_group.activities.add(activity3) activity_group.activities.add(activity4) project = factories.Project(activity_group=activity_group) request = RequestFactory().get('/selectable/entries-activitylookup', { 'project': project.pk }) data = self.lookup.get_query(request, 'a') self.assertNotIn(activity1, data) self.assertIn(activity2, data) self.assertIn(activity3, data) self.assertNotIn(activity4, data) def test_get_query_empty(self): """ Tests whether a query with no associated project searches the entire set of activities, regardless of project. """ activity1 = factories.Activity(name='foo') activity2 = factories.Activity(name='bar') activity3 = factories.Activity(name='baz') activity4 = factories.Activity(name='qux') activity_group1 = factories.ActivityGroup() activity_group1.activities.add(activity1) activity_group1.activities.add(activity2) activity_group2 = factories.ActivityGroup() activity_group2.activities.add(activity3) activity_group2.activities.add(activity4) request = RequestFactory().get('/selectable/entries-activitylookup', { 'project': '' }) data = self.lookup.get_query(request, '') self.assertIn(activity1, data) self.assertIn(activity2, data) self.assertIn(activity3, data) self.assertIn(activity4, data) data = self.lookup.get_query(request, 'a') self.assertNotIn(activity1, data) self.assertIn(activity2, data) self.assertIn(activity3, data) self.assertNotIn(activity4, data)