Skip to content

Commit 0dd27e1

Browse files
committed
Test loading from API 0.1 with session serials
1 parent bb71627 commit 0dd27e1

File tree

4 files changed

+116
-0
lines changed

4 files changed

+116
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
course:
2+
api_version: [0, 1]
3+
course:
4+
title: A course loaded from API version 0.1
5+
subtitle: Suitable for testing only.
6+
source_file: courses/complex/info.yml
7+
sessions:
8+
- slug: first
9+
title: First
10+
serial: '1'
11+
- slug: second
12+
title: Second
13+
serial: '2'
14+
- slug: special
15+
title: Special
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
$schema: http://dummy.test/schema/Course
2+
api_version:
3+
- 0
4+
- 0
5+
course:
6+
lessons: {}
7+
long_description: ''
8+
sessions:
9+
- materials: []
10+
pages:
11+
back:
12+
content: ''
13+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=back&session_slug=first
14+
front:
15+
content: ''
16+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=front&session_slug=first
17+
slug: first
18+
title: First
19+
url: http://dummy.test/model/web/Session/?course_slug=courses/complex&session_slug=first
20+
- materials: []
21+
pages:
22+
back:
23+
content: ''
24+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=back&session_slug=second
25+
front:
26+
content: ''
27+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=front&session_slug=second
28+
slug: second
29+
title: Second
30+
url: http://dummy.test/model/web/Session/?course_slug=courses/complex&session_slug=second
31+
- materials: []
32+
pages:
33+
back:
34+
content: ''
35+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=back&session_slug=special
36+
front:
37+
content: ''
38+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=front&session_slug=special
39+
slug: special
40+
title: Special
41+
url: http://dummy.test/model/web/Session/?course_slug=courses/complex&session_slug=special
42+
source_file: courses/complex/info.yml
43+
subtitle: Suitable for testing only.
44+
title: A course loaded from API version 0.1
45+
url: http://dummy.test/model/web/Course/?course_slug=courses/complex
46+
vars: {}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
$schema: http://dummy.test/schema/Course
2+
api_version:
3+
- 0
4+
- 1
5+
course:
6+
lessons: {}
7+
long_description: ''
8+
sessions:
9+
- materials: []
10+
pages:
11+
back:
12+
content: ''
13+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=back&session_slug=first
14+
front:
15+
content: ''
16+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=front&session_slug=first
17+
serial: '1'
18+
slug: first
19+
title: First
20+
url: http://dummy.test/model/web/Session/?course_slug=courses/complex&session_slug=first
21+
- materials: []
22+
pages:
23+
back:
24+
content: ''
25+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=back&session_slug=second
26+
front:
27+
content: ''
28+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=front&session_slug=second
29+
serial: '2'
30+
slug: second
31+
title: Second
32+
url: http://dummy.test/model/web/Session/?course_slug=courses/complex&session_slug=second
33+
- materials: []
34+
pages:
35+
back:
36+
content: ''
37+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=back&session_slug=special
38+
front:
39+
content: ''
40+
url: http://dummy.test/model/web/SessionPage/?course_slug=courses/complex&page_slug=front&session_slug=special
41+
slug: special
42+
title: Special
43+
url: http://dummy.test/model/web/Session/?course_slug=courses/complex&session_slug=special
44+
source_file: courses/complex/info.yml
45+
subtitle: Suitable for testing only.
46+
title: A course loaded from API version 0.1
47+
url: http://dummy.test/model/web/Course/?course_slug=courses/complex
48+
vars: {}

test_naucse/test_course.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,13 @@ def test_complex_course(model, assert_model_dump):
149149
assert course.sessions['full'].description == 'A <em>full session!</em>'
150150

151151

152+
def test_api_1_0(model, assert_model_dump):
153+
"""Valid complex json that could come from a fork is loaded correctly"""
154+
course = load_course_from_fixture(model, 'course-data/course-v0.1.yml')
155+
156+
assert_model_dump(course, 'course-v0.1')
157+
158+
152159
def test_derives(model):
153160
"""Test that derives and base_course is set correctly"""
154161
add_test_course(model, 'courses/base', {

0 commit comments

Comments
 (0)