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'])
Example #3
0
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)
Example #4
0
 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)
 def setUp(self):
     self.lookup = ActivityLookup()