Esempio n. 1
0
    def test_unauthenticated_user_redirect(self):
        form_data = {
            "initials": "J.D.",
            "first_name": "John",
            "last_name": "Doe",
            "date_of_birth": "1970-01-01",
            "email": "*****@*****.**",
            "street": "Main Street",
            "house_number": "69",
            "city": "New York",
            "country": "U.S.A.",
            "member_since": "1970-01-01",
            "educational_institution": "University of Toronto",
        }

        checkAccessPermissionsMember(self,
                                     '/account/membership/edit',
                                     'post',
                                     PermissionType.TYPE_NO_MEMBER,
                                     data=form_data,
                                     redirectUrl='/no_member')

        member = Member.objects.filter(
            id=self.member_to_run_tests_on.id).first()
        self.assertIsNotNone(member)

        # Ensure no values were changed
        old_serialized_data = MemberSerializer(
            self.member_to_run_tests_on).data
        new_serialized_data = MemberSerializer(member).data
        for field, value in old_serialized_data.items():
            # All other fields remain the same
            self.assertEqual(value, new_serialized_data[field],
                             f"{field} did not match!")
Esempio n. 2
0
    def test_correct_edit(self):
        form_data = {
            "initials": "J.D.",
            "first_name": "John",
            "last_name": "Doe",
            "date_of_birth": "1970-01-01",
            "email": "*****@*****.**",
            "street": "Main Street",
            "house_number": "69",
            "city": "New York",
            "country": "U.S.A.",
            "member_since": "1970-01-01",
            "educational_institution": "University of Toronto",
        }

        checkAccessPermissionsMember(self,
                                     '/account/membership/edit',
                                     'post',
                                     PermissionType.TYPE_MEMBER,
                                     user=self.user,
                                     redirectUrl='/account/membership',
                                     data=form_data)

        member = Member.objects.filter(
            id=self.member_to_run_tests_on.id).first()
        self.assertIsNotNone(member)

        # Ensure the correct values were changed
        old_serialized_data = MemberSerializer(
            self.member_to_run_tests_on).data
        new_serialized_data = MemberSerializer(member).data
        for field, value in old_serialized_data.items():
            if field == 'house_number':
                # House Number was updated
                self.assertEqual(69, new_serialized_data['house_number'])
            elif field == 'last_updated_date':
                # last_updated_date was updated
                self.assertTrue(
                    value < new_serialized_data['last_updated_date'])
            elif field == 'last_updated_by':
                # last_updated_by was updated
                self.assertEqual(new_serialized_data['user'], self.user.id)
            else:
                # All other fields remain the same
                self.assertEqual(value, new_serialized_data[field],
                                 f"{field} did not match!")
Esempio n. 3
0
    def test_ignore_fields(self):
        other_user = User.objects.create(username="******", password="******")
        other_user.save()
        form_data = {
            "initials": "J.D.",
            "first_name": "John",
            "last_name": "Doe",
            "date_of_birth": "1970-01-01",
            "email": "*****@*****.**",
            "street": "Main Street",
            "house_number": "69",
            "city": "New York",
            "country": "U.S.A.",
            "member_since": "1970-01-01",
            "educational_institution": "University of Toronto",
            "user": other_user.id,
            "last_updated_by": "",
            "last_updated_date": "02/02/2002",
        }

        # Should still be redirected to the account page
        checkAccessPermissionsMember(self,
                                     '/account/membership/edit',
                                     'post',
                                     PermissionType.TYPE_MEMBER,
                                     user=self.user,
                                     data=form_data,
                                     redirectUrl='/account/membership')

        member = Member.objects.filter(
            id=self.member_to_run_tests_on.id).first()
        self.assertIsNotNone(member)

        # Ensure the 'user' field is not edited
        self.assertEqual(self.member_to_run_tests_on.user, member.user)
        # Ensure the 'last updated by' and 'last updated date' fields are edited properly
        self.assertEqual(self.user, member.last_updated_by)
        self.assertTrue(self.member_to_run_tests_on.last_updated_date <
                        member.last_updated_date)
Esempio n. 4
0
 def test_member_edit_info_page_redirect(self):
     checkAccessPermissionsMember(self,
                                  '/account/membership/edit',
                                  'get',
                                  PermissionType.TYPE_NO_MEMBER,
                                  redirectUrl='/no_member')
Esempio n. 5
0
 def test_member_edit_info_page(self):
     checkAccessPermissionsMember(self, '/account/membership/edit', 'get',
                                  PermissionType.TYPE_MEMBER)