Fix last urls

This commit is contained in:
Martin Pépin 2018-05-01 12:44:34 +02:00
parent 1ea12ed3f9
commit 4811f218e5
3 changed files with 30 additions and 17 deletions

View file

@ -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>

View file

@ -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):

View file

@ -1,6 +0,0 @@
[flake8]
max-line-length = 119
exclude =
.git,
__pycache__,
venv