Ejemplo n.º 1
0
    def test_clean_username(self):
        # A user with proto_user params does not exist yet.
        proto_user = UserFactory.build()

        form = UserCreationForm({
            "username": proto_user.username,
            "password1": proto_user._password,
            "password2": proto_user._password,
        })

        assert form.is_valid()
        assert form.clean_username() == proto_user.username

        # Creating a user.
        form.save()

        # The user with proto_user params already exists,
        # hence cannot be created.
        form = UserCreationForm({
            "username": proto_user.username,
            "password1": proto_user._password,
            "password2": proto_user._password,
        })

        assert not form.is_valid()
        assert len(form.errors) == 1
        assert "username" in form.errors
    def test_logged_in_user_can_view_season_detail(self):
        user = UserFactory()
        
        self.client.force_login(user)
        response = self.client.get(self.get_url())

        assert response.status_code == 200
 def setUp(self):
     self.user = UserFactory()
     self.season = SeasonFactory(commissioner=self.user)
     self.gameweek = GameweekFactory(
         season=self.season,
         number=1,
     )
    def test_non_commissioner_user_redirected_on_post(self):
        user = UserFactory()
        self.client.force_login(user)
        response = self.client.post(self.get_url())

        assert response.status_code == 302
        assert 'login' in response.url
        assert Gameweek.objects.count() == 1
    def test_non_commissioner_redirected_on_get(self):
        user = UserFactory()

        self.client.force_login(user)
        response = self.client.get(self.get_url())

        assert response.status_code == 302
        assert 'login' in response.url
    def test_slug_unique_constraint(self):
        user = UserFactory()

        self.client.force_login(user)
        self.client.post(self.url, data=self.test_data)
        response = self.client.post(self.url, data=self.test_data)

        assert response.status_code == 200
        assert Season.objects.count() == 1
        form_errors = response.context['form'].errors

        assert 'Name must not clash with existing seasons' in form_errors['name']
    def test_non_commissioner_user_redirected_on_post(self):
        original_spiel = self.gameweek.spiel
        original_deadline = self.gameweek.deadline

        user = UserFactory()
        self.client.force_login(user)
        response = self.client.post(self.get_url(), data=self.test_data)

        assert response.status_code == 302
        assert 'login' in response.url
        self.gameweek.refresh_from_db()

        assert self.gameweek.spiel == original_spiel
        assert self.gameweek.deadline == original_deadline
    def test_successful_create(self):
        user = UserFactory()

        self.client.force_login(user)
        response = self.client.post(self.url, data=self.test_data)

        assert response.status_code == 302
        assert Season.objects.count() == 1
        season = Season.objects.first()

        assert season.name == self.test_data['name']
        assert season.weekly_allowance == self.test_data['weekly_allowance']
        assert season.commissioner == user
        assert season.slug == slugify(self.test_data['name'])
    def test_non_commissioner_user_redirected_on_post(self):
        original_name = self.season.name
        original_weekly_allowance = self.season.weekly_allowance

        user = UserFactory()
        self.client.force_login(user)
        response = self.client.post(self.get_url(), data=self.test_data)

        assert response.status_code == 302
        assert 'login' in response.url
        self.season.refresh_from_db()

        assert self.season.name == original_name
        assert self.season.weekly_allowance == original_weekly_allowance
def user() -> settings.AUTH_USER_MODEL:
    return UserFactory()
 def setUp(self):
     self.user = UserFactory()
     self.season = SeasonFactory(commissioner=self.user)