def _test_negative_adjustment(self, initial, adjusted): iuser = self.unprivileged_user.get_instance_user(self.instance) iuser.reputation = initial iuser.save_base() audit = Audit(model='Tree', model_id=1, action=Audit.Type.Insert, instance=self.instance, field='readonly', previous_value=None, current_value=True, user=self.unprivileged_user, requires_auth=True) audit.save() self.assertEqual(initial, iuser.reputation) review_audit = Audit(model='Tree', model_id=1, action=Audit.Type.PendingReject, instance=self.instance, field='readonly', previous_value=None, current_value=True, user=self.privileged_user) review_audit.save() audit.ref = review_audit audit.save() # requery iuser iuser = self.unprivileged_user.get_instance_user(self.instance) self.assertEqual(adjusted, iuser.reputation)
def test_reputation_metric_no_adjustment_for_no_rm_record(self): audit = Audit(model='Plot', model_id=1, action=Audit.Type.Insert, instance=self.instance, field='readonly', previous_value=None, current_value=True, user=self.privileged_user) ReputationMetric.apply_adjustment(audit) self.assertEqual(0, self.privileged_user.get_reputation(self.instance))
def setUp(self): self.instance = make_instance(name='Test Instance') self.species = Species(instance=self.instance, common_name='Test Common Name', genus='Test Genus', cultivar='Test Cultivar', species='Test Species') self.species.save_base() self.user = make_user(username='******', password='******') self.plot = Plot(geom=Point(1, 1), instance=self.instance, address_street="123 Main Street") self.plot.save_base() self.tree = Tree(plot=self.plot, instance=self.instance) self.tree.save_base() self.boundary = make_simple_boundary("Test Boundary") self.role = Role(instance=self.instance, name='Test Role', rep_thresh=2) self.role.save() self.field_permission = FieldPermission( model_name="Tree", field_name="readonly", permission_level=FieldPermission.READ_ONLY, role=self.role, instance=self.instance) self.field_permission.save_base() self.audit = Audit(action=Audit.Type.Update, model="Tree", field="readonly", model_id=1, user=self.user, previous_value=True, current_value=False) self.audit.save_base() self.reputation_metric = ReputationMetric(instance=self.instance, model_name="Tree", action="Test Action") self.reputation_metric.save_base()
def test_reputation_metric_positive_adjustment_for_rm(self): self.assertEqual(0, self.unprivileged_user.get_reputation(self.instance)) audit = Audit(model='Tree', model_id=1, action=Audit.Type.Insert, instance=self.instance, field='readonly', previous_value=None, current_value=True, user=self.unprivileged_user) ReputationMetric.apply_adjustment(audit) self.assertEqual(2, self.unprivileged_user.get_reputation(self.instance))