from datetime import timedelta from random import randint from selenium import webdriver from django.utils import timezone from django.test import TestCase from django.shortcuts import reverse from project.tests.factories import * from project.utils.selenium_utils import SeleniumExtensions as SE class CoursesTestCase(TestCase): @classmethod def setUpTestData(cls): create_admin() create_batch_unique(CourseFactory, status=Course.STATUS_CHOICES[:3], price=[0, 1000], age=Course.AGE_CHOICES[:2], deferred_start_at=[None, timezone.now() + timedelta(days=randint(5, 15))]) def test_courses_url_accessible(self): print('get ', reverse('courses')) resp = self.client.get(reverse('courses')) self.assertEqual(resp.status_code, 200) def test_course_url_accessible(self): for course in Course.objects.filter(status=Course.PUBLISHED): print('get ', course.url) resp = self.client.get(course.url) self.assertEqual(resp.status_code, 200) @login_admin def test_course_edit_url_accessible(self): for course in Course.objects.all(): print('get ', reverse('course_edit', args=[course.id])) resp = self.client.get(reverse('course_edit', args=[course.id])) self.assertEqual(resp.status_code, 200) class CourseEditTestCase(TestCase): @classmethod def setUpTestData(cls): cls.driver = webdriver.Chrome() create_admin() create_batch_unique(CourseFactory, status=Course.STATUS_CHOICES[:3], price=[0, 1000], age=Course.AGE_CHOICES[:2], deferred_start_at=[None, timezone.now() + timedelta(days=randint(5, 15))]) def test_course_edit(self): print('Course.objects.all().count()', Course.objects.all().count())