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