summaryrefslogtreecommitdiffstats
path: root/todolists
diff options
context:
space:
mode:
authorJelle van der Waa <jelle@vdwaa.nl>2018-08-12 19:48:46 +0200
committerJelle van der Waa <jelle@vdwaa.nl>2018-08-12 19:54:58 +0200
commiteeb07d7beea60e1cbba7971458c421b09a91a8fa (patch)
tree8a027f9e99039ecb3b462d490a4ff574c2903b9b /todolists
parentd1e272d19b1759fad9354194746bfe35f7934357 (diff)
downloadarchweb-eeb07d7beea60e1cbba7971458c421b09a91a8fa.tar.gz
archweb-eeb07d7beea60e1cbba7971458c421b09a91a8fa.zip
todolists: test delete/edit/add
Diffstat (limited to 'todolists')
-rw-r--r--todolists/tests/test_views.py70
1 files changed, 69 insertions, 1 deletions
diff --git a/todolists/tests/test_views.py b/todolists/tests/test_views.py
index c0d6cee0..7a53d7c1 100644
--- a/todolists/tests/test_views.py
+++ b/todolists/tests/test_views.py
@@ -2,7 +2,7 @@ from django.contrib.auth.models import User
from django.test import TestCase
-from todolists.models import Todolist
+from todolists.models import Todolist, TodolistPackage
class TestTodolist(TestCase):
@@ -33,3 +33,71 @@ class TestTodolist(TestCase):
self.assertEqual(response.status_code, 200)
data = response.json()
self.assertEqual(data['name'], self.todolist.name)
+
+
+class TestTodolistAdmin(TestCase):
+ fixtures = ['main/fixtures/arches.json', 'main/fixtures/repos.json',
+ 'main/fixtures/package.json']
+
+ def setUp(self):
+ password = 'test'
+ self.user = User.objects.create_superuser("admin",
+ "admin@archlinux.org",
+ password)
+
+ self.client.post('/login/', {
+ 'username': self.user.username,
+ 'password': password
+ })
+
+ def tearDown(self):
+ Todolist.objects.all().delete()
+ self.user.delete()
+
+ def create_todo(self):
+ return self.client.post('/todo/add/', {
+ 'name': 'Foo rebuild',
+ 'description': 'The Foo Rebuild, please read the instructions',
+ 'raw': 'linux',
+ })
+
+ def test_create_todolist(self):
+ response = self.create_todo()
+ self.assertEqual(response.status_code, 302)
+ self.assertEqual(len(Todolist.objects.all()), 1)
+
+ def test_flag_pkg(self):
+ response = self.create_todo()
+ self.assertEqual(response.status_code, 302)
+
+ todolist = Todolist.objects.first()
+ package = todolist.packages().first()
+ self.assertEqual(package.status, TodolistPackage.INCOMPLETE)
+
+ response = self.client.get('/todo/{}/flag/{}/'.format(todolist.slug, package.id))
+ self.assertEqual(response.status_code, 302)
+
+ package = todolist.packages().first()
+ self.assertEqual(package.status, TodolistPackage.COMPLETE)
+
+ def test_edit(self):
+ response = self.create_todo()
+ self.assertEqual(response.status_code, 302)
+ todolist = Todolist.objects.first()
+ self.assertEqual(len(todolist.packages().all()), 1)
+
+ response = self.client.post('/todo/{}/edit/'.format(todolist.slug), {
+ 'name': 'Foo rebuild',
+ 'description': 'The Foo Rebuild, please read the instructions',
+ 'raw': 'linux\nglibc',
+ })
+ self.assertEqual(response.status_code, 302)
+ todolist = Todolist.objects.first()
+ self.assertEqual(len(todolist.packages().all()), 2)
+
+ def test_delete(self):
+ response = self.create_todo()
+ self.assertEqual(response.status_code, 302)
+ todolist = Todolist.objects.first()
+ response = self.client.post('/todo/{}/delete'.format(todolist.slug))
+ self.assertEqual(response.status_code, 301)