~aelkner/schooltool/cando_skill_scoresystem

« back to all changes in this revision

Viewing changes to src/schooltool/cando/browser/stests/gradebook_multiple_term.txt

merged wuth trunk
adjusted default scoresystem test results

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Skills gradebook for multiple term sections
 
2
===========================================
 
3
 
 
4
Log in as manager:
 
5
 
 
6
    >>> manager = browsers.manager
 
7
    >>> manager.ui.login('manager', 'schooltool')
 
8
 
 
9
Set up persons:
 
10
 
 
11
    >>> manager.ui.person.add('Jeffrey', 'Elkner', 'jeffrey', 'pwd')
 
12
    >>> manager.ui.person.add('Camila', 'Cerna', 'camila', 'pwd')
 
13
    >>> manager.ui.person.add('Liliana', 'Vividor', 'liliana', 'pwd')
 
14
    >>> manager.ui.person.add('Mario', 'Tejada', 'mario', 'pwd')
 
15
 
 
16
Set up a multiple term section:
 
17
 
 
18
    >>> manager.ui.schoolyear.add('2012', '2012-01-01', '2012-12-31')
 
19
    >>> manager.ui.term.add('2012', 'Q1', '2012-01-01', '2012-03-31')
 
20
    >>> manager.ui.term.add('2012', 'Q2', '2012-04-01', '2012-06-30')
 
21
    >>> manager.ui.term.add('2012', 'Q3', '2012-07-01', '2012-09-30')
 
22
    >>> manager.ui.term.add('2012', 'Q4', '2012-10-01', '2012-12-31')
 
23
    >>> manager.ui.course.add('2012', 'Programming', course_id='PRO')
 
24
    >>> manager.ui.section.add('2012', 'Q1', 'Programming', ends='Q4')
 
25
    >>> manager.ui.section.instructors.add('2012', 'Q1', 'Programming (1)',
 
26
    ...                                    ['jeffrey'])
 
27
    >>> manager.ui.section.students.add('2012', 'Q1', 'Programming (1)',
 
28
    ...                                 ['camila', 'liliana', 'mario'])
 
29
 
 
30
Set up skills:
 
31
 
 
32
    >>> manager.ui.layer.add('Course')
 
33
    >>> manager.ui.node.add('Programming', label='PRO')
 
34
 
 
35
    >>> manager.ui.skillset.add('Python Environment', '01')
 
36
 
 
37
    >>> manager.ui.skill.add(
 
38
    ...     'Python Environment',
 
39
    ...     'Use the Python shell for interactive evaluation',
 
40
    ...     '01')
 
41
    >>> manager.ui.skill.add(
 
42
    ...     'Python Environment',
 
43
    ...     'Make Python scripts with a text editor',
 
44
    ...     '02',
 
45
    ...     required=False)
 
46
 
 
47
    >>> manager.query.link('Search').click()
 
48
    >>> manager.query.button('Search').click()
 
49
    >>> manager.query.link('Programming').click()
 
50
 
 
51
    >>> sel = '//h2[contains(@class, "ui-accordion-header")]'
 
52
    >>> accordion_headers = manager.query_all.xpath(sel)
 
53
    >>> sel = 'div.ui-accordion-content'
 
54
    >>> accordion_contents = manager.query_all.css(sel)
 
55
    >>> information_accordion_content = accordion_contents[0]
 
56
    >>> skillsets_accordion_header = accordion_headers[4]
 
57
    >>> skillsets_accordion_header.click()
 
58
    >>> skillsets_accordion_content = accordion_contents[4]
 
59
    >>> manager.wait_no(information_accordion_content.is_displayed)
 
60
    >>> sel = '//a[@title="Edit skillsets"]'
 
61
    >>> manager.query.xpath(sel).click()
 
62
    >>> manager.query.id('form-buttons-add').click()
 
63
    >>> manager.query.link('Done').click()
 
64
 
 
65
    >>> sel = '//h2[contains(@class, "ui-accordion-header")]'
 
66
    >>> accordion_headers = manager.query_all.xpath(sel)
 
67
    >>> sel = 'div.ui-accordion-content'
 
68
    >>> accordion_contents = manager.query_all.css(sel)
 
69
    >>> information_accordion_content = accordion_contents[0]
 
70
    >>> layers_accordion_header = accordion_headers[3]
 
71
    >>> layers_accordion_header.click()
 
72
    >>> layers_accordion_content = accordion_contents[3]
 
73
    >>> manager.wait_no(information_accordion_content.is_displayed)
 
74
    >>> sel = '//a[@title="Edit layers"]'
 
75
    >>> manager.query.xpath(sel).click()
 
76
    >>> manager.query.id('form-buttons-add').click()
 
77
 
 
78
Assign the skills to the course:
 
79
 
 
80
    >>> manager.query.link('School').click()
 
81
    >>> manager.query.link('Courses').click()
 
82
    >>> manager.query.link('Batch Assign Skills').click()
 
83
    >>> manager.query.name('course_attr').ui.set_value('Course ID')
 
84
    >>> manager.query.name('layer').ui.set_value('Course')
 
85
    >>> manager.query.name('node_attr').ui.set_value('Label')
 
86
    >>> manager.query.name('SEARCH_BUTTON').click()
 
87
    >>> manager.query.name('ASSIGN_BUTTON').click()
 
88
 
 
89
Log in as instructor and grade some skills in the first term section:
 
90
 
 
91
    >>> teacher = browsers.teacher
 
92
    >>> teacher.ui.login('jeffrey', 'pwd')
 
93
    >>> teacher.query.link('CanDo').click()
 
94
 
 
95
    >>> teacher.ui.gradebook.worksheet.score('Cerna, Camila', '01', '3')
 
96
    >>> teacher.ui.gradebook.worksheet.score('Tejada, Mario', '01', '4')
 
97
    >>> teacher.ui.gradebook.worksheet.score('Cerna, Camila', '02', '3')
 
98
    >>> teacher.ui.gradebook.worksheet.score('Tejada, Mario', '02', '3')
 
99
    >>> teacher.query.name('UPDATE_SUBMIT').click()
 
100
 
 
101
    >>> teacher.ui.gradebook.worksheet.pprint()
 
102
    +--------------------------+
 
103
    | *01: Python Environment* |
 
104
    +--------------------------+
 
105
    +------------------+----+----+
 
106
    | Name             | 01 | 02 |
 
107
    |                  | 4  | 4  |
 
108
    +------------------+----+----+
 
109
    | Cerna, Camila    | 3  | 3  |
 
110
    | Tejada, Mario    | 4  | 3  |
 
111
    | Vividor, Liliana |    |    |
 
112
    +------------------+----+----+
 
113
 
 
114
Now, let's go to the following terms section and see the most recent
 
115
grades:
 
116
 
 
117
    >>> navigator = teacher.query_all.css('.refine .navigator')[1]
 
118
    >>> page = teacher.query.tag('html')
 
119
    >>> navigator.ui.set_value('Q2')
 
120
    >>> teacher.wait(lambda: page.expired)
 
121
    >>> teacher.ui.gradebook.worksheet.pprint()
 
122
    +--------------------------+
 
123
    | *01: Python Environment* |
 
124
    +--------------------------+
 
125
    +------------------+----+----+
 
126
    | Name             | 01 | 02 |
 
127
    |                  | 4  | 4  |
 
128
    +------------------+----+----+
 
129
    | Cerna, Camila    | 3  | 3  |
 
130
    | Tejada, Mario    | 4  | 3  |
 
131
    | Vividor, Liliana |    |    |
 
132
    +------------------+----+----+
 
133
 
 
134
    >>> navigator = teacher.query_all.css('.refine .navigator')[1]
 
135
    >>> page = teacher.query.tag('html')
 
136
    >>> navigator.ui.set_value('Q4')
 
137
    >>> teacher.wait(lambda: page.expired)
 
138
    >>> teacher.ui.gradebook.worksheet.pprint()
 
139
    +--------------------------+
 
140
    | *01: Python Environment* |
 
141
    +--------------------------+
 
142
    +------------------+----+----+
 
143
    | Name             | 01 | 02 |
 
144
    |                  | 4  | 4  |
 
145
    +------------------+----+----+
 
146
    | Cerna, Camila    | 3  | 3  |
 
147
    | Tejada, Mario    | 4  | 3  |
 
148
    | Vividor, Liliana |    |    |
 
149
    +------------------+----+----+
 
150
 
 
151
Let's go to the Q3 term and grade some skills there:
 
152
 
 
153
    >>> navigator = teacher.query_all.css('.refine .navigator')[1]
 
154
    >>> page = teacher.query.tag('html')
 
155
    >>> navigator.ui.set_value('Q3')
 
156
    >>> teacher.wait(lambda: page.expired)
 
157
 
 
158
    >>> teacher.ui.gradebook.worksheet.score('Cerna, Camila', '01', '2')
 
159
    >>> teacher.ui.gradebook.worksheet.score('Vividor, Liliana', '01', '1')
 
160
    >>> teacher.ui.gradebook.worksheet.score('Tejada, Mario', '02', '')
 
161
    >>> teacher.query.name('UPDATE_SUBMIT').click()
 
162
    >>> teacher.ui.gradebook.worksheet.pprint()
 
163
    +--------------------------+
 
164
    | *01: Python Environment* |
 
165
    +--------------------------+
 
166
    +------------------+----+----+
 
167
    | Name             | 01 | 02 |
 
168
    |                  | 4  | 4  |
 
169
    +------------------+----+----+
 
170
    | Cerna, Camila    | 2  | 3  |
 
171
    | Tejada, Mario    | 4  |    |
 
172
    | Vividor, Liliana | 1  |    |
 
173
    +------------------+----+----+
 
174
 
 
175
If we go back to the Q4 section, we'll see some grades from the Q1
 
176
section and some from the Q3 section:
 
177
 
 
178
    >>> navigator = teacher.query_all.css('.refine .navigator')[1]
 
179
    >>> page = teacher.query.tag('html')
 
180
    >>> navigator.ui.set_value('Q4')
 
181
    >>> teacher.wait(lambda: page.expired)
 
182
    >>> teacher.ui.gradebook.worksheet.pprint()
 
183
    +--------------------------+
 
184
    | *01: Python Environment* |
 
185
    +--------------------------+
 
186
    +------------------+----+----+
 
187
    | Name             | 01 | 02 |
 
188
    |                  | 4  | 4  |
 
189
    +------------------+----+----+
 
190
    | Cerna, Camila    | 2  | 3  |
 
191
    | Tejada, Mario    | 4  |    |
 
192
    | Vividor, Liliana | 1  |    |
 
193
    +------------------+----+----+