-
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathconftest.py
More file actions
86 lines (68 loc) · 1.92 KB
/
conftest.py
File metadata and controls
86 lines (68 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
from django_email_learning.models import (
ImapConnection,
Quiz,
Lesson,
Course,
BlockedEmail,
Learner,
Enrollment,
CourseContent,
)
import pytest
@pytest.fixture()
def imap_connection(db) -> ImapConnection:
connection = ImapConnection(
server="IMAP.example.com",
port=993,
email="user@example.com",
password="my_secret_password",
organization_id=1,
)
connection.save()
return connection
@pytest.fixture()
def quiz(db) -> Quiz:
quiz = Quiz(title="Sample Quiz", required_score=70)
quiz.save()
return quiz
@pytest.fixture()
def lesson(db) -> Lesson:
lesson = Lesson(title="Sample Lesson", content="Lesson Content", is_published=True)
lesson.save()
return lesson
@pytest.fixture()
def course(db, imap_connection) -> Course:
course = Course(
title="Sample Course",
slug="sample-course",
imap_connection=imap_connection,
organization_id=1,
)
course.save()
return course
@pytest.fixture()
def blocked_email(db) -> BlockedEmail:
blocked_email = BlockedEmail(email="blacklisted@email.com")
blocked_email.save()
return blocked_email
@pytest.fixture()
def learner(db) -> Learner:
learner = Learner(email="user@example.com")
learner.save()
return learner
@pytest.fixture()
def enrollment(db, learner, course) -> Enrollment:
enrollment = Enrollment.objects.create(learner=learner, course=course)
return enrollment
@pytest.fixture
def course_lesson_content(db, course, lesson) -> CourseContent:
content = CourseContent.objects.create(
course=course, priority=1, type="lesson", lesson=lesson, waiting_period=10
)
return content
@pytest.fixture
def course_quiz_content(db, course, quiz) -> CourseContent:
content = CourseContent.objects.create(
course=course, priority=2, type="quiz", quiz=quiz, waiting_period=5
)
return content