Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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))
Exemplo n.º 3
0
    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()
Exemplo n.º 4
0
    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))