Esempio n. 1
0
class TestProjectStatusUpdate(BluebottleTestCase):
    """
    save() automatically updates some fields, specifically
    the status field. Make sure it picks the right one
    """

    def setUp(self):
        super(TestProjectStatusUpdate, self).setUp()

        self.init_projects()

        self.theme = ProjectThemeFactory(slug='test-theme')
        self.project = ProjectFactory(theme=self.theme)
        self.task = TaskFactory(project=self.project)

        self.survey = SurveyFactory(link='https://example.com/survey/1/')

    def test_survey_url(self):
        url = urlparse(
            Survey.url(self.task)
        )
        query = parse_qs(url.query)

        self.assertEqual(url.netloc, 'example.com')
        self.assertEqual(query['theme'], [self.theme.slug])
        self.assertEqual(query['project_id'], [str(self.project.id)])
        self.assertEqual(query['task_id'], [str(self.task.id)])
        self.assertEqual(query['user_type'], ['task_member'])

    def test_survey_url_no_survey(self):
        self.survey.delete()

        self.assertIsNone(Survey.url(self.task))

    def test_survey_url_project(self):
        url = urlparse(
            Survey.url(self.project)
        )
        query = parse_qs(url.query)

        self.assertEqual(url.netloc, 'example.com')
        self.assertEqual(query['theme'], [self.theme.slug])
        self.assertEqual(query['project_id'], [str(self.project.id)])
        self.assertTrue('task_id' not in query)

    def test_survey_url_user_type(self):
        url = urlparse(
            Survey.url(self.task, user_type='initiator'),
        )
        query = parse_qs(url.query)

        self.assertEqual(url.netloc, 'example.com')
        self.assertEqual(query['theme'], [self.theme.slug])
        self.assertEqual(query['project_id'], [str(self.project.id)])
        self.assertEqual(query['task_id'], [str(self.task.id)])
        self.assertEqual(query['user_type'], ['initiator'])

    def test_survey_url_no_celebration(self):
        self.project.celebrate_results = False
        self.project.save()

        self.assertIsNone(Survey.url(self.project))
Esempio n. 2
0
class TestProjectStatusUpdate(BluebottleTestCase):
    """
    save() automatically updates some fields, specifically
    the status field. Make sure it picks the right one
    """

    def setUp(self):
        super(TestProjectStatusUpdate, self).setUp()

        self.init_projects()

        self.theme = ProjectThemeFactory(slug='test-theme')
        self.project = ProjectFactory(theme=self.theme)
        self.task = TaskFactory(project=self.project)

        self.survey = SurveyFactory(link='https://example.com/survey/1/', active=True)

    def test_survey_url(self):
        url = urlparse(
            Survey.url(self.task)
        )
        query = parse_qs(url.query)

        self.assertEqual(url.netloc, 'example.com')
        self.assertEqual(query['theme'], [self.theme.slug])
        self.assertEqual(query['project_id'], [str(self.project.id)])
        self.assertEqual(query['task_id'], [str(self.task.id)])
        self.assertEqual(query['user_type'], ['task_member'])

    def test_survey_url_no_survey(self):
        self.survey.delete()

        self.assertIsNone(Survey.url(self.task))

    def test_survey_url_project(self):
        url = urlparse(
            Survey.url(self.project)
        )
        query = parse_qs(url.query)

        self.assertEqual(url.netloc, 'example.com')
        self.assertEqual(query['theme'], [self.theme.slug])
        self.assertEqual(query['project_id'], [str(self.project.id)])
        self.assertTrue('task_id' not in query)

    def test_survey_url_user_type(self):
        url = urlparse(
            Survey.url(self.task, user_type='initiator'),
        )
        query = parse_qs(url.query)

        self.assertEqual(url.netloc, 'example.com')
        self.assertEqual(query['theme'], [self.theme.slug])
        self.assertEqual(query['project_id'], [str(self.project.id)])
        self.assertEqual(query['task_id'], [str(self.task.id)])
        self.assertEqual(query['user_type'], ['initiator'])

    def test_survey_url_no_celebration(self):
        self.project.celebrate_results = False
        self.project.save()

        self.assertIsNone(Survey.url(self.project))