Exemple #1
0
    def test_can_edit_report(self):
        """
        Test whether ConfigurableReportView.page_context allows report editing
        """
        domain = Domain(name='test_domain', is_active=True)
        domain.save()
        self.addCleanup(domain.delete)

        def create_view(can_edit_reports):
            rolename = 'edit_role' if can_edit_reports else 'view_role'
            username = '******' if can_edit_reports else 'viewer'
            toggles.USER_CONFIGURABLE_REPORTS.set(username, True,
                                                  toggles.NAMESPACE_USER)

            # user_role should be deleted along with the domain.
            user_role = UserRole.create(domain=domain.name,
                                        name=rolename,
                                        permissions=Permissions(
                                            edit_commcare_users=True,
                                            view_commcare_users=True,
                                            edit_groups=True,
                                            view_groups=True,
                                            edit_locations=True,
                                            view_locations=True,
                                            access_all_locations=False,
                                            edit_data=True,
                                            edit_reports=can_edit_reports,
                                            view_reports=True))

            web_user = WebUser.create(domain.name, username, '***', None, None)
            web_user.set_role(domain.name, user_role.get_qualified_id())
            web_user.current_domain = domain.name
            web_user.save()
            self.addCleanup(web_user.delete, domain.name, deleted_by=None)

            request = HttpRequest()
            request.can_access_all_locations = True
            request.user = web_user.get_django_user()
            request.couch_user = web_user
            request.session = {}
            _, view = self._build_report_and_view(request=request)
            return view

        cannot_edit_view = create_view(False)
        self.assertEqual(cannot_edit_view.page_context['can_edit_report'],
                         False)

        can_edit_view = create_view(True)
        self.assertEqual(can_edit_view.page_context['can_edit_report'], True)
    def test_fixture_provider(self):
        provider = IndicatorsFixturesProvider()
        domain = Domain(
            call_center_config=CallCenterProperties(
                enabled=True,
                case_owner_id="bar",
                case_type="baz",
            )
        )

        domain.call_center_config.use_fixtures = False
        self.assertTrue(provider._should_return_no_fixtures(domain, None))

        domain.call_center_config.use_fixtures = True
        self.assertFalse(provider._should_return_no_fixtures(domain, None))
Exemple #3
0
    def setUpClass(cls):
        super(SessionDetailsViewTest, cls).setUpClass()
        cls.domain = Domain(name="toyland", is_active=True)
        cls.domain.save()
        cls.couch_user = CommCareUser.create(cls.domain.name, 'bunkey', '123', None, None)
        cls.sql_user = cls.couch_user.get_django_user()

        cls.expected_response = {
            'username': cls.sql_user.username,
            'djangoUserId': cls.sql_user.pk,
            'superUser': cls.sql_user.is_superuser,
            'authToken': None,
            'domains': [cls.domain.name],
            'anonymous': False
        }
        cls.url = reverse('session_details')