Fix last urls
This commit is contained in:
parent
1ea12ed3f9
commit
4811f218e5
3 changed files with 30 additions and 17 deletions
|
@ -9,7 +9,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if user.is_authenticated %}
|
{% if user.is_authenticated %}
|
||||||
<h3><a href="{% url "partitions-ajouter_morceau" %}">Ajouter un morceau</a></h3>
|
<h3><a href="{% url "partitions:ajouter_morceau" %}">Ajouter un morceau</a></h3>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% for category in categories %}
|
{% for category in categories %}
|
||||||
|
@ -20,11 +20,11 @@
|
||||||
{% if not user.is_authenticated %}
|
{% if not user.is_authenticated %}
|
||||||
{{ partition.nom }} - {{ partition.auteur }}
|
{{ partition.nom }} - {{ partition.auteur }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<a href="{% url "partitions-listepart" partition.nom partition.auteur %}"
|
<a href="{% url "partitions:listepart" partition.nom partition.auteur %}"
|
||||||
class="fichier">{{ partition.nom }} - {{ partition.auteur }}</a>
|
class="fichier">{{ partition.nom }} - {{ partition.auteur }}</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if user.profile.is_chef %}
|
{% if user.profile.is_chef %}
|
||||||
<a href="{% url "partitions-conf_delete_morc" partition.nom partition.auteur %}"
|
<a href="{% url "partitions:conf_delete_morc" partition.nom partition.auteur %}"
|
||||||
class="supprimer">Supprimer</a>
|
class="supprimer">Supprimer</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -4,14 +4,19 @@ from django.template.defaultfilters import urlencode
|
||||||
from django.test import Client, TestCase
|
from django.test import Client, TestCase
|
||||||
|
|
||||||
from gestion.models import ErnestoUser
|
from gestion.models import ErnestoUser
|
||||||
from ..models import Partition, PartitionSet
|
from ..models import Category, Partition, PartitionSet
|
||||||
|
|
||||||
User = get_user_model()
|
User = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
def new_user(username, ernesto=False, chef=False):
|
def new_user(username, ernesto=False, chef=False):
|
||||||
u = User.objects.create_user(username=username)
|
u = User.objects.create_user(username=username)
|
||||||
ErnestoUser.objects.create(user=u, slug=username, is_chef=chef, is_ernesto=ernesto)
|
ErnestoUser.objects.create(
|
||||||
|
user=u,
|
||||||
|
slug=username,
|
||||||
|
is_chef=chef,
|
||||||
|
is_ernesto=ernesto
|
||||||
|
)
|
||||||
return u
|
return u
|
||||||
|
|
||||||
|
|
||||||
|
@ -33,7 +38,11 @@ class TestViews(TestCase):
|
||||||
(None, Client())
|
(None, Client())
|
||||||
]
|
]
|
||||||
# A Partition set with 1 partition
|
# A Partition set with 1 partition
|
||||||
self.pset = PartitionSet.objects.create(nom="My PSet", auteur="PSet author")
|
self.pset = PartitionSet.objects.create(
|
||||||
|
category=Category.objects.first(),
|
||||||
|
nom="My PSet",
|
||||||
|
auteur="PSet author"
|
||||||
|
)
|
||||||
file = File(open("media/test_file.txt"), "test file")
|
file = File(open("media/test_file.txt"), "test file")
|
||||||
Partition.objects.create(nom="part1", part=file, morceau=self.pset)
|
Partition.objects.create(nom="part1", part=file, morceau=self.pset)
|
||||||
|
|
||||||
|
@ -43,7 +52,10 @@ class TestViews(TestCase):
|
||||||
partition.delete()
|
partition.delete()
|
||||||
|
|
||||||
def _get_restricted_page(self, url):
|
def _get_restricted_page(self, url):
|
||||||
"""Shorthand for testing wether a page in only accessible by ernesto members"""
|
"""
|
||||||
|
Shorthand for testing wether a page in only accessible by ernesto
|
||||||
|
members
|
||||||
|
"""
|
||||||
for user, client in self.client_matrix:
|
for user, client in self.client_matrix:
|
||||||
# If user is not None, it is an ernesto member
|
# If user is not None, it is an ernesto member
|
||||||
resp = client.get(url)
|
resp = client.get(url)
|
||||||
|
@ -51,7 +63,8 @@ class TestViews(TestCase):
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
else:
|
else:
|
||||||
encoded_url = urlencode(urlencode(url))
|
encoded_url = urlencode(urlencode(url))
|
||||||
self.assertRedirects(resp, "/login?next={}".format(encoded_url))
|
redirection_url = "/login?next={}".format(encoded_url)
|
||||||
|
self.assertRedirects(resp, redirection_url)
|
||||||
|
|
||||||
def test_get_partition_sets(self):
|
def test_get_partition_sets(self):
|
||||||
"""The list of all partition sets can be fetched by everyone"""
|
"""The list of all partition sets can be fetched by everyone"""
|
||||||
|
@ -60,20 +73,26 @@ class TestViews(TestCase):
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
|
|
||||||
def test_get_partitions(self):
|
def test_get_partitions(self):
|
||||||
"""Only ernesto members can see the partitions inside of a partition set"""
|
"""
|
||||||
|
Only ernesto members can see the partitions inside of a partition set
|
||||||
|
"""
|
||||||
url = "/partitions/{}/{}".format(self.pset.nom, self.pset.auteur)
|
url = "/partitions/{}/{}".format(self.pset.nom, self.pset.auteur)
|
||||||
self._get_restricted_page(url)
|
self._get_restricted_page(url)
|
||||||
|
|
||||||
def test_see(self):
|
def test_see(self):
|
||||||
"""Only ernesto members can see partitions"""
|
"""Only ernesto members can see partitions"""
|
||||||
part = self.pset.partition_set.first()
|
part = self.pset.partition_set.first()
|
||||||
url = "/partitions/{}/{}/see/{}".format(self.pset.nom, self.pset.auteur, part.id)
|
url = "/partitions/{}/{}/see/{}".format(
|
||||||
|
self.pset.nom, self.pset.auteur, part.id
|
||||||
|
)
|
||||||
self._get_restricted_page(url)
|
self._get_restricted_page(url)
|
||||||
|
|
||||||
def test_download(self):
|
def test_download(self):
|
||||||
"""Only ernesto members can download partitions"""
|
"""Only ernesto members can download partitions"""
|
||||||
part = self.pset.partition_set.first()
|
part = self.pset.partition_set.first()
|
||||||
url = "/partitions/{}/{}/{}".format(self.pset.nom, self.pset.auteur, part.id)
|
url = "/partitions/{}/{}/{}".format(
|
||||||
|
self.pset.nom, self.pset.auteur, part.id
|
||||||
|
)
|
||||||
self._get_restricted_page(url)
|
self._get_restricted_page(url)
|
||||||
|
|
||||||
def test_new(self):
|
def test_new(self):
|
||||||
|
|
6
tox.ini
6
tox.ini
|
@ -1,6 +0,0 @@
|
||||||
[flake8]
|
|
||||||
max-line-length = 119
|
|
||||||
exclude =
|
|
||||||
.git,
|
|
||||||
__pycache__,
|
|
||||||
venv
|
|
Loading…
Add table
Reference in a new issue