Ejemplo n.º 1
0
 def setUp(self):
     super().setUp()
     # individual
     self.instance1 = FactoryFloor.TripRequestFactory()
     FactoryFloor.TravellerFactory(request=self.instance1)
     # group
     self.instance2 = FactoryFloor.TripRequestFactory()
     FactoryFloor.TravellerFactory(request=self.instance2)
     FactoryFloor.TravellerFactory(request=self.instance2)
     self.test_url1 = reverse_lazy('travel:request_print', args=[self.instance1.pk])
     self.test_url2 = reverse_lazy('travel:request_print', args=[self.instance2.pk])
     self.expected_template1 = 'travel/traf/single.html'
     self.expected_template2 = 'travel/traf/group.html'
     self.user1 = self.get_and_login_user(self.instance1.created_by)
     self.user2 = self.get_and_login_user(self.instance2.created_by)
Ejemplo n.º 2
0
 def test_get_related_requests(self):
     user = UserFactory()
     # scenario 1 --> they are a creator
     trip_request1 = FactoryFloor.TripRequestFactory(created_by=user)
     self.assertIn(trip_request1, utils.get_related_requests(user))
     # scenario 2 --> they are a traveller
     trip_request2 = FactoryFloor.TripRequestFactory(created_by=UserFactory())
     FactoryFloor.TravellerFactory(request=trip_request2, user=user)
     self.assertIn(trip_request2, utils.get_related_requests(user))
Ejemplo n.º 3
0
 def test_get_adm_eligible_trips(self):
     trip = FactoryFloor.TripFactory(is_adm_approval_required=False, start_date=timezone.now(), trip_subcategory_id=8)
     self.assertNotIn(trip, utils.get_adm_eligible_trips())
     trip.is_adm_approval_required = True
     trip.save()
     self.assertNotIn(trip, utils.get_adm_eligible_trips())
     trip.status = 41
     trip.save()
     self.assertNotIn(trip, utils.get_adm_eligible_trips())
     trip_request = FactoryFloor.TripRequestFactory(trip=trip)
     FactoryFloor.TravellerFactory(request=trip_request)
     self.assertNotIn(trip, utils.get_adm_eligible_trips())
     trip_request.status = 12
     trip_request.save()
     self.assertIn(trip, utils.get_adm_eligible_trips())
Ejemplo n.º 4
0
    def test_can_modify_rules(self):
        activate('en')

        # actors
        trip_request = FactoryFloor.TripRequestFactory()
        traveller = FactoryFloor.TravellerFactory(request=trip_request)
        reg_user = self.get_and_login_user()
        admin_user = self.get_and_login_regional_admin()
        adm_admin_user = self.get_and_login_admin()

        # RULE 1: travel admin = True
        self.assertEqual(can_modify_request(admin_user, trip_request.id), True)
        self.assertEqual(can_modify_request(adm_admin_user, trip_request.id), True)

        # RULE 2: a current reviewer; they must be able to edit a child trip and the parent trip
        # a)
        my_reviewer = FactoryFloor.ReviewerFactory(request=trip_request, status=1)
        trip_request.status = 17
        trip_request.save()
        self.assertTrue(can_modify_request(my_reviewer.user, trip_request.id))

        # RULE 3: when a trip is unsubmitted, randos cannot edit
        self.assertFalse(can_modify_request(reg_user, trip_request.id))

        # RULE 4: when a trip is unsubmitted, owners can edit
        self.assertTrue(can_modify_request(trip_request.created_by, trip_request.id))

        # RULE 5: when a trip is unsubmitted, travellers can edit
        self.assertTrue(can_modify_request(traveller.user, trip_request.id))

        # RULE 6: owners are always able to unsubmit a trip
        trip_request.submitted = timezone.now()
        trip_request.save()
        self.assertTrue(can_modify_request(trip_request.created_by, trip_request.id, True))
        trip_request.status = 22
        trip_request.save()
        self.assertTrue(can_modify_request(trip_request.created_by, trip_request.id, True))