def test_action_mark_multiple_as_suspicious(self): abuse_report_admin = AbuseReportAdmin(AbuseReport, admin.site) request = RequestFactory().get('/') request.user = self.user request._messages = default_messages_storage(request) reports = AbuseReport.objects.filter( guid__in=('@guid3', '@unknown_guid')) assert reports.count() == 2 for report in reports.all(): assert report.state == AbuseReport.STATES.UNTRIAGED other_report = AbuseReport.objects.get(guid='@guid1', message='') assert other_report.state == AbuseReport.STATES.UNTRIAGED abuse_report_admin.mark_as_suspicious(request, reports) for report in reports.all(): assert report.state == AbuseReport.STATES.SUSPICIOUS # Other reports should be unaffected assert other_report.reload().state == AbuseReport.STATES.UNTRIAGED
def test_delete_multiple_action_soft_deletes(self): abuse_report_admin = AbuseReportAdmin(AbuseReport, admin.site) request = RequestFactory().post('/', {'post': 'yes'}) request.user = user_factory() self.grant_permission(request.user, 'AbuseReports:Edit') self.grant_permission(request.user, 'Admin:Advanced') request._messages = default_messages_storage(request) reports = AbuseReport.objects.filter( guid__in=('@guid3', '@unknown_guid')) assert reports.count() == 2 assert AbuseReport.objects.count() == 6 assert AbuseReport.unfiltered.count() == 6 action_callback = abuse_report_admin.get_actions( request)['delete_selected'][0] rval = action_callback(abuse_report_admin, request, reports) assert rval is None # successful actions return None assert reports.count() == 0 # All should have been soft-deleted. assert AbuseReport.objects.count() == 4 # Should have 1 unaffected. assert AbuseReport.unfiltered.count() == 6 # We're only soft-deleting.
def test_action_mark_multiple_as_valid(self): abuse_report_admin = AbuseReportAdmin(AbuseReport, admin.site) request = RequestFactory().post('/') request.user = self.user request._messages = default_messages_storage(request) reports = AbuseReport.objects.filter( guid__in=('@guid3', '@unknown_guid')) assert reports.count() == 2 for report in reports.all(): assert report.state == AbuseReport.STATES.UNTRIAGED other_report = AbuseReport.objects.get(guid='@guid1', message='') assert other_report.state == AbuseReport.STATES.UNTRIAGED action_callback = abuse_report_admin.get_actions( request)['mark_as_valid'][0] rval = action_callback(abuse_report_admin, request, reports) assert rval is None # successful actions return None for report in reports.all(): assert report.state == AbuseReport.STATES.VALID # Other reports should be unaffected assert other_report.reload().state == AbuseReport.STATES.UNTRIAGED
def test_ban_action(self): another_user = user_factory() a_third_user = user_factory() users = UserProfile.objects.filter( pk__in=(another_user.pk, self.user.pk)) user_admin = UserAdmin(UserProfile, admin.site) request = RequestFactory().get('/') request.user = user_factory() core.set_user(request.user) request._messages = default_messages_storage(request) user_admin.ban_action(request, users) # Both users should be banned. another_user.reload() self.user.reload() assert another_user.deleted assert another_user.email assert self.user.deleted assert self.user.email # The 3rd user should be unaffected. assert not a_third_user.reload().deleted # We should see 2 activity logs for banning. assert ActivityLog.objects.filter( action=amo.LOG.ADMIN_USER_BANNED.id).count() == 2
def test_ban_action(self): another_user = user_factory() a_third_user = user_factory() users = UserProfile.objects.filter(pk__in=(another_user.pk, self.user.pk)) user_admin = UserAdmin(UserProfile, admin.site) request = RequestFactory().get('/') request.user = user_factory() core.set_user(request.user) request._messages = default_messages_storage(request) user_admin.ban_action(request, users) # Both users should be banned. another_user.reload() self.user.reload() assert another_user.deleted assert another_user.email assert self.user.deleted assert self.user.email # The 3rd user should be unaffected. assert not a_third_user.reload().deleted # We should see 2 activity logs for banning. assert ActivityLog.objects.filter( action=amo.LOG.ADMIN_USER_BANNED.id).count() == 2