コード例 #1
0
ファイル: tests.py プロジェクト: kylemikableh/lnldb
    def test_new_attendance(self):
        office = LocationFactory(name="Office", setup_only=False, available_for_meetings=True)

        # User should not have permission to create meetings by default
        self.assertOk(self.client.get(reverse("meetings:new")), 403)

        permission = Permission.objects.get(codename="create_mtg")
        self.user.user_permissions.add(permission)

        # Will need view_mtg permission on redirect as well
        permission = Permission.objects.get(codename="view_mtg_attendance")
        self.user.user_permissions.add(permission)

        self.assertOk(self.client.get(reverse("meetings:new")))

        valid_data = {
            "meeting_type": str(self.meeting_type1.pk),
            "location": str(office.pk),
            "datetime_0": timezone.now().date(),
            "datetime_1": timezone.now().time(),
            "attendance": [str(self.user.pk)],
            "duration": "1 hour",
            "agenda": "",
            "minutes": "",
            "minutes_private": "",
            "attachments": "",
            "attachments_private": "",
            "save": "Save Changes"
        }

        self.assertRedirects(self.client.post(reverse("meetings:new"), valid_data),
                             reverse("meetings:detail", args=[3]))
コード例 #2
0
 def setup(self):
     self.location = LocationFactory.create(name="Test Location",
                                            show_in_wo_form=True)
     self.org = OrgFactory.create(name="Test Org",
                                  shortname="Test",
                                  exec_email="*****@*****.**",
                                  phone="1234567890")
コード例 #3
0
ファイル: tests.py プロジェクト: kylemikableh/lnldb
    def test_edit_attendance(self):
        office = LocationFactory(name="Office", setup_only=False, available_for_meetings=True)

        # By default, should not have permission to edit attendance
        self.assertOk(self.client.get(reverse("meetings:edit", args=[self.meeting.pk])), 403)

        permission = Permission.objects.get(codename="edit_mtg")
        self.user.user_permissions.add(permission)

        # Will need view_mtg permission on redirect as well
        permission = Permission.objects.get(codename="view_mtg_attendance")
        self.user.user_permissions.add(permission)

        self.assertOk(self.client.get(reverse("meetings:edit", args=[self.meeting.pk])))

        path = models.mtg_attachment_file_name(self, "TotallyAFile.png")
        f = SimpleUploadedFile(path, b"some content")
        valid_data = {
            "meeting_type": str(self.meeting_type1.pk),
            "location": str(office.pk),
            "datetime_0": timezone.now().date(),
            "datetime_1": timezone.now().time(),
            "attendance": [str(self.user.pk)],
            "duration": "1 hour",
            "agenda": "",
            "minutes": "",
            "minutes_private": "",
            "attachments": f,
            "attachments_private": "",
            "save": "Save Changes"
        }

        self.assertRedirects(self.client.post(reverse("meetings:edit", args=[self.meeting.pk]), valid_data),
                             reverse("meetings:detail", args=[self.meeting.pk]) + "#attendance")
コード例 #4
0
ファイル: tests.py プロジェクト: alhayden/lnldb
    def test_update_event(self):
        e = EventFactory.create(event_name="Test Event")
        lighting = eventmodels.Category.objects.create(name="Lighting")
        l1 = eventmodels.Lighting.objects.create(shortname="L1",
                                                 longname="Lighting",
                                                 base_cost=100.00,
                                                 addtl_cost=10.00,
                                                 category=lighting)
        office = LocationFactory(name="Office", setup_only=True)
        e.lighting = l1
        e.save()

        # By default, should not have permission to update the event
        self.assertOk(
            self.client.get(
                reverse("meetings:addchief", args=[self.meeting.pk, e.pk])),
            403)

        permission = Permission.objects.get(codename="edit_mtg")
        self.user.user_permissions.add(permission)

        # Will also need view_mtg permissions for redirect
        permission = Permission.objects.get(codename="view_mtg_attendance")
        self.user.user_permissions.add(permission)

        self.assertOk(
            self.client.get(
                reverse("meetings:addchief", args=[self.meeting.pk, e.pk])))

        valid_data = {
            "main-TOTAL_FORMS": 1,
            "main-INITIAL_FORMS": 0,
            "main-MIN_NUM_FORMS": 0,
            "main-MAX_NUM_FORMS": 1000,
            "main-0-crew_chief": str(self.user.pk),
            "main-0-service": str(l1.pk),
            "main-0-category": "",
            "main-0-setup_location": str(office.pk),
            "main-0-setup_start_0": timezone.now().date(),
            "main-0-setup_start_1": timezone.now().time()
        }

        self.assertRedirects(
            self.client.post(
                reverse("meetings:addchief", args=[self.meeting.pk, e.pk]),
                valid_data),
            reverse("meetings:detail", args=[self.meeting.pk]) + "#events")
コード例 #5
0
    def test_log_access(self):
        location = LocationFactory(name="CC Office", holds_equipment=True)

        # Check that we get 404 if location matching query cannot be found
        self.assertOk(
            self.client.get(reverse("inventory:log_access",
                                    args=['Alden-Sub'])), 404)

        # Check that everything loads ok when there's a match
        self.assertOk(
            self.client.get(reverse("inventory:log_access",
                                    args=['CC-Office'])))

        # Verify that the checkin form redirects home once submitted successfully
        valid_data = {
            "users": [str(self.user.pk)],
            "location": str(location.pk),
            "reason": "To play with the Bose Cannon",
            "save": "Submit"
        }

        self.assertRedirects(
            self.client.post(
                reverse("inventory:log_access", args=['CC-Office']),
                valid_data), reverse("home"))

        # Test the checkout process (checking out is optional)
        valid_data = {
            "users": [str(self.user.pk)],
            "location": str(location.pk),
            "reason": "OUT",
            "save": "Submit"
        }

        self.assertRedirects(
            self.client.post(reverse("inventory:log_exit", args=['cc']),
                             valid_data), reverse("home"))