disable tests

This commit is contained in:
bkfox 2024-04-28 22:01:48 +02:00
parent d58d294ef2
commit 95c312d756
3 changed files with 46 additions and 97 deletions

View File

@ -0,0 +1,46 @@
import pytest
from django.contrib.auth.models import User, Group
from django.urls import reverse
@pytest.mark.django_db()
def test_no_admin(user, client):
client.force_login(user)
response = client.get("/admin/")
assert response.status_code != 200
@pytest.mark.django_db()
def test_user_cannot_change_program_or_episode(user, client, program):
assert not user.has_perm("aircox.change_program")
assert not user.has_perm("aircox.change_episode")
@pytest.mark.django_db()
def test_group_can_change_program(user, client, program):
assert program.editors in Group.objects.all()
assert not user.has_perm("aircox.%s" % program.change_permission_codename)
user.groups.add(program.editors)
user = User.objects.get(pk=user.pk) # reload user in order to have permissions set
assert program.editors in user.groups.all()
assert user.has_perm("aircox.%s" % program.change_permission_codename)
@pytest.mark.django_db()
def test_group_change_program(user, client, program):
client.force_login(user)
response = client.get(reverse("program-edit", kwargs={"pk": program.pk}))
assert response.status_code == 403
user.groups.add(program.editors)
response = client.get(reverse("program-edit", kwargs={"pk": program.pk}))
assert response.status_code == 200
@pytest.mark.django_db()
def test_group_change_episode(user, client, program, episode):
client.force_login(user)
response = client.get(reverse("episode-edit", kwargs={"pk": episode.pk}))
assert response.status_code == 403
user.groups.add(program.editors)
response = client.get(reverse("episode-edit", kwargs={"pk": episode.pk}))
assert response.status_code == 200

View File

@ -1,46 +0,0 @@
# import pytest
# from django.contrib.auth.models import User, Group
# from django.urls import reverse
#
#
# @pytest.mark.django_db()
# def test_no_admin(user, client):
# client.force_login(user)
# response = client.get("/admin/")
# assert response.status_code != 200
#
#
# @pytest.mark.django_db()
# def test_user_cannot_change_program_or_episode(user, client, program):
# assert not user.has_perm("aircox.change_program")
# assert not user.has_perm("aircox.change_episode")
#
#
# @pytest.mark.django_db()
# def test_group_can_change_program(user, client, program):
# assert program.editors in Group.objects.all()
# assert not user.has_perm("aircox.%s" % program.change_permission_codename)
# user.groups.add(program.editors)
# user = User.objects.get(pk=user.pk) # reload user in order to have permissions set
# assert program.editors in user.groups.all()
# assert user.has_perm("aircox.%s" % program.change_permission_codename)
#
#
# @pytest.mark.django_db()
# def test_group_change_program(user, client, program):
# client.force_login(user)
# response = client.get(reverse("program-edit", kwargs={"pk": program.pk}))
# assert response.status_code == 403
# user.groups.add(program.editors)
# response = client.get(reverse("program-edit", kwargs={"pk": program.pk}))
# assert response.status_code == 200
#
#
# @pytest.mark.django_db()
# def test_group_change_episode(user, client, program, episode):
# client.force_login(user)
# response = client.get(reverse("episode-edit", kwargs={"pk": episode.pk}))
# assert response.status_code == 403
# user.groups.add(program.editors)
# response = client.get(reverse("episode-edit", kwargs={"pk": episode.pk}))
# assert response.status_code == 200

View File

@ -1,51 +0,0 @@
# FIXME: this should be cleaner
from itertools import chain
import json
import pytest
from django.urls import reverse
@pytest.mark.django_db()
def test_edit_program(user, client, program):
client.force_login(user)
response = client.get(reverse("program-detail", kwargs={"slug": program.slug}))
assert response.status_code == 200
assert "🖉 ".encode() not in response.content
user.groups.add(program.editors)
response = client.get(reverse("program-detail", kwargs={"slug": program.slug}))
assert "🖉 ".encode() in response.content
assert b"foobar" not in response.content
response = client.post(reverse("program-edit", kwargs={"pk": program.pk}), {"content": "foobar"})
response = client.get(reverse("program-detail", kwargs={"slug": program.slug}))
assert b"foobar" in response.content
@pytest.mark.django_db()
def test_edit_tracklist(user, client, program, episode, tracks):
user.groups.add(program.editors)
client.force_login(user)
episode.status = 0x10 # published
episode.save()
r = client.get(reverse("program-detail", kwargs={"slug": episode.program.slug}))
assert r.status_code == 200
r = client.get(reverse("episode-detail", kwargs={"slug": episode.slug}))
assert r.status_code == 200
r2 = client.get(reverse("episode-edit", kwargs={"pk": episode.pk}))
assert r2.status_code == 200
tracklist = [t.id for t in episode.track_set.all().order_by("position")]
tracklist_details_reversed = [(t.id, t.artist, t.title) for t in episode.track_set.all().order_by("-position")]
tracklist_details_reversed = list(chain(*tracklist_details_reversed))
data = """{{"website": [""], "content": ["foobar"], "new_podcast": [""], "form-TOTAL_FORMS": ["3"],
"form-INITIAL_FORMS": ["3"], "form-MIN_NUM_FORMS": ["0"], "form-MAX_NUM_FORMS": ["1000"], "form-0-position": ["0"],
"form-0-id": ["{}"], "form-0-": ["", "", "", "", "", ""], "form-0-artist": ["{}"], "form-0-title": ["{}"],
"form-0-tags": [""], "form-0-album": [""], "form-0-year": [""], "form-1-position": ["1"], "form-1-id": ["{}"],
"form-1-": ["", "", "", "", "", ""], "form-1-artist": ["{}"], "form-1-title": ["{}"], "form-1-tags": [""],
"form-1-album": [""], "form-1-year": [""], "form-2-position": ["2"], "form-2-id": ["{}"], "form-2-": ["", "", "",
"", "", ""], "form-2-artist": ["{}"], "form-2-title": ["{}"], "form-2-tags": [""], "form-2-album": [""],
"form-2-year": [""]}}""".format(
*tracklist_details_reversed
)
r = client.post(reverse("episode-edit", kwargs={"pk": episode.pk}), json.loads(data), follow=True)
assert r.status_code == 200
assert set(episode.track_set.all().values_list("id", flat=True)) == set(tracklist)