58 lines
2.1 KiB
Python
58 lines
2.1 KiB
Python
from books.factories import ModuleFactory, ChapterFactory
|
|
from books.models import ContentBlock, Chapter, ModulePageForm
|
|
from core.tests.base_test import SkillboxTestCase
|
|
from django.test.client import Client
|
|
from users.models import User
|
|
|
|
|
|
class TestChapterCreation(SkillboxTestCase):
|
|
""" Test created for Issue MS-932 """
|
|
def setUp(self) -> None:
|
|
self.createDefault()
|
|
self.module = ModuleFactory(slug="my-module")
|
|
user = User.objects.get(username='admin')
|
|
self.Client = Client()
|
|
self.client.login(username='admin', password='test')
|
|
|
|
def test_create_chapter_creates_slug_autmatically(self):
|
|
new_chapter = Chapter(title='New Chapter')
|
|
self.module.add_child(instance=new_chapter)
|
|
new_chapter.save()
|
|
self.assertEqual('new-chapter', new_chapter.slug)
|
|
|
|
def test_create_chapter_creates_slug_autmatically_if_existing(self):
|
|
new_chapter = Chapter(title='New Chapter')
|
|
self.module.add_child(instance=new_chapter)
|
|
new_chapter.save()
|
|
self.assertEqual('new-chapter', new_chapter.slug)
|
|
new_chapter2 = Chapter(title='New Chapter')
|
|
self.module.add_child(instance=new_chapter2)
|
|
new_chapter2.save()
|
|
self.assertEqual('new-chapter-2', new_chapter2.slug)
|
|
|
|
def test_add_chapter_in_admin(self):
|
|
data = {
|
|
'title': 'New Chapter',
|
|
'slug': 'new-chapter-test',
|
|
'module': self.module.id
|
|
}
|
|
response = self.client.post(f"/cms/pages/add/books/chapter/{self.module.id}", data=data)
|
|
self.assertEqual(200, response.status_code)
|
|
|
|
chapter = Chapter.objects.get(title='New Chapter')
|
|
self.assertEqual("new-chapter-test", chapter.slug)
|
|
|
|
|
|
def test_add_chapter_in_admin_no_slug(self):
|
|
data = {
|
|
'title': 'New Chapter',
|
|
'module': self.module.id
|
|
}
|
|
response = self.client.post(f"/cms/pages/add/books/chapter/{self.module.id}", data=data)
|
|
self.assertEqual(200, response.status_code)
|
|
|
|
chapter = Chapter.objects.get(title='New Chapter')
|
|
self.assertEqual("new-chapter", chapter.slug)
|
|
|
|
|