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 %}
{% 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 %}
{% for category in categories %}
@ -20,11 +20,11 @@
{% if not user.is_authenticated %}
{{ partition.nom }} - {{ partition.auteur }}
{% 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>
{% endif %}
{% 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>
{% endif %}
</li>

View file

@ -4,14 +4,19 @@ from django.template.defaultfilters import urlencode
from django.test import Client, TestCase
from gestion.models import ErnestoUser
from ..models import Partition, PartitionSet
from ..models import Category, Partition, PartitionSet
User = get_user_model()
def new_user(username, ernesto=False, chef=False):
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
@ -33,7 +38,11 @@ class TestViews(TestCase):
(None, Client())
]
# 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")
Partition.objects.create(nom="part1", part=file, morceau=self.pset)
@ -43,7 +52,10 @@ class TestViews(TestCase):
partition.delete()
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:
# If user is not None, it is an ernesto member
resp = client.get(url)
@ -51,7 +63,8 @@ class TestViews(TestCase):
self.assertEqual(200, resp.status_code)
else:
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):
"""The list of all partition sets can be fetched by everyone"""
@ -60,20 +73,26 @@ class TestViews(TestCase):
self.assertEqual(200, resp.status_code)
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)
self._get_restricted_page(url)
def test_see(self):
"""Only ernesto members can see partitions"""
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)
def test_download(self):
"""Only ernesto members can download partitions"""
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)
def test_new(self):

View file

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