~ubuntu-branches/ubuntu/natty/schooltool.gradebook/natty

« back to all changes in this revision

Viewing changes to src/schooltool/gradebook/browser/ftests/export.txt

  • Committer: Bazaar Package Importer
  • Author(s): Gediminas Paulauskas
  • Date: 2011-02-24 16:53:53 UTC
  • Revision ID: james.westby@ubuntu.com-20110224165353-hi69ckyal3b8dyns
Tags: upstream-0.9.0~a1
ImportĀ upstreamĀ versionĀ 0.9.0~a1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Export
 
2
------
 
3
 
 
4
Log in as manager:
 
5
 
 
6
    >>> manager = Browser('manager', 'schooltool')
 
7
 
 
8
Now, set up two school years and a couple of terms in them:
 
9
 
 
10
    >>> from schooltool.app.browser.ftests import setup
 
11
 
 
12
    >>> setup.addSchoolYear('2005', '2005-01-01', '2005-12-31')
 
13
    >>> setup.addTerm('Semester1', '2005-01-01', '2005-06-30', '2005')
 
14
    >>> setup.addTerm('Semester2', '2005-07-01', '2005-12-31', '2005')
 
15
 
 
16
    >>> setup.addSchoolYear('2006', '2006-01-01', '2006-12-31')
 
17
    >>> setup.addTerm('Semester1', '2006-01-01', '2006-06-30', '2006')
 
18
    >>> setup.addTerm('Semester2', '2006-07-01', '2006-12-31', '2006')
 
19
 
 
20
Set up some courses:
 
21
 
 
22
    >>> setup.addCourse('Physics I', '2005')
 
23
    >>> setup.addCourse('Math I', '2005')
 
24
    >>> setup.addCourse('Physics II', '2006')
 
25
    >>> setup.addCourse('Math II', '2006')
 
26
 
 
27
Set up persons:
 
28
 
 
29
    >>> from schooltool.basicperson.browser.ftests.setup import addPerson
 
30
    >>> addPerson('Paul', 'Cardune', 'paul', 'pwd', browser=manager)
 
31
    >>> addPerson('Tom', 'Hoffman', 'tom', 'pwd', browser=manager)
 
32
    >>> addPerson('Claudia', 'Richter', 'claudia', 'pwd', browser=manager)
 
33
    >>> addPerson('Stephan', 'Richter', 'stephan', 'pwd', browser=manager)
 
34
    >>> addPerson('Alan', 'Elkner', 'alan', 'pwd', browser=manager)
 
35
 
 
36
Set up a section for each term:
 
37
 
 
38
    >>> setup.addSection('Physics I', '2005', 'Semester1',
 
39
    ...                  instructors=['Stephan'],
 
40
    ...                  members=['Tom', 'Claudia', 'Paul'])
 
41
    >>> setup.addSection('Math I', '2005', 'Semester2',
 
42
    ...                  instructors=['Alan'],
 
43
    ...                  members=['Tom', 'Claudia', 'Paul'])
 
44
    >>> setup.addSection('Physics I', '2006', 'Semester1',
 
45
    ...                  instructors=['Stephan'],
 
46
    ...                  members=['Tom', 'Claudia', 'Paul'])
 
47
    >>> setup.addSection('Math I', '2006', 'Semester2',
 
48
    ...                  instructors=['Alan'],
 
49
    ...                  members=['Tom', 'Claudia', 'Paul'])
 
50
 
 
51
Log in as stephan, teacher of the Physics sections:
 
52
 
 
53
    >>> stephan = Browser('stephan', 'pwd')
 
54
 
 
55
Add a couple of activities to the default worksheet:
 
56
 
 
57
    >>> stephan.getLink('Gradebook').click()
 
58
    >>> url = stephan.url
 
59
 
 
60
    >>> stephan.printQuery('//select[@name="currentTerm"]/option[@selected="selected"]/text()')
 
61
    2005 / Semester1
 
62
    >>> stephan.printQuery('//select[@name="currentSection"]/option[@selected="selected"]/text()')
 
63
    Physics I - Physics I (1)
 
64
 
 
65
    >>> stephan.getLink('New Activity').click()
 
66
    >>> stephan.getControl('Title').value = 'HW 1'
 
67
    >>> stephan.getControl('Description').value = 'Homework 1'
 
68
    >>> stephan.getControl('Category').value = ['assignment']
 
69
    >>> stephan.getControl('Maximum').value = '50'
 
70
    >>> stephan.getControl('Add').click()
 
71
 
 
72
    >>> stephan.getLink('New Activity').click()
 
73
    >>> stephan.getControl('Title').value = 'Quiz'
 
74
    >>> stephan.getControl('Description').value = 'Week 1 Pop Quiz'
 
75
    >>> stephan.getControl('Category').value = ['exam']
 
76
    >>> stephan.getControl('Add').click()
 
77
 
 
78
Add some grades:
 
79
 
 
80
    >>> stephan.getControl(name='Activity_paul').value = '40'
 
81
    >>> stephan.getControl(name='Activity_tom').value = '48'
 
82
    >>> stephan.getControl(name='Activity_claudia').value = '45'
 
83
 
 
84
    >>> stephan.getControl(name='Activity-2_paul').value = '90'
 
85
    >>> stephan.getControl(name='Activity-2_tom').value = '88'
 
86
    >>> stephan.getControl(name='Activity-2_claudia').value = '29'
 
87
 
 
88
    >>> stephan.getControl('Save').click()
 
89
 
 
90
Let's go to his other section in the 2006 year:
 
91
 
 
92
    >>> stephan.open(url+'?currentTerm=2006-.semester1-')
 
93
    >>> stephan.printQuery('//select[@name="currentTerm"]/option[@selected="selected"]/text()')
 
94
    2006 / Semester1
 
95
    >>> stephan.printQuery('//select[@name="currentSection"]/option[@selected="selected"]/text()')
 
96
    Physics II - Physics II (1)
 
97
 
 
98
Add a couple of activities:
 
99
 
 
100
    >>> stephan.getLink('New Activity').click()
 
101
    >>> stephan.getControl('Title').value = 'HW 1'
 
102
    >>> stephan.getControl('Description').value = 'Homework 1'
 
103
    >>> stephan.getControl('Category').value = ['assignment']
 
104
    >>> stephan.getControl('Add').click()
 
105
 
 
106
    >>> stephan.getLink('New Activity').click()
 
107
    >>> stephan.getControl('Title').value = 'Quiz'
 
108
    >>> stephan.getControl('Description').value = 'Week 1 Pop Quiz'
 
109
    >>> stephan.getControl('Category').value = ['exam']
 
110
    >>> stephan.getControl('Add').click()
 
111
 
 
112
Add some grades:
 
113
 
 
114
    >>> stephan.getControl(name='Activity_paul').value = '90'
 
115
    >>> stephan.getControl(name='Activity_tom').value = '80'
 
116
    >>> stephan.getControl(name='Activity_claudia').value = '95'
 
117
 
 
118
    >>> stephan.getControl(name='Activity-2_paul').value = '100'
 
119
    >>> stephan.getControl(name='Activity-2_tom').value = '95'
 
120
    >>> stephan.getControl(name='Activity-2_claudia').value = '87'
 
121
 
 
122
    >>> stephan.getControl('Save').click()
 
123
 
 
124
Now let's log in as Alan:
 
125
 
 
126
    >>> alan = Browser('alan', 'pwd')
 
127
 
 
128
Add a couple of activities to the default worksheet:
 
129
 
 
130
    >>> alan.getLink('Gradebook').click()
 
131
    >>> url = alan.url
 
132
 
 
133
    >>> alan.printQuery('//select[@name="currentTerm"]/option[@selected="selected"]/text()')
 
134
    2005 / Semester2
 
135
    >>> alan.printQuery('//select[@name="currentSection"]/option[@selected="selected"]/text()')
 
136
    Math I - Math I (1)
 
137
 
 
138
    >>> alan.getLink('New Activity').click()
 
139
    >>> alan.getControl('Title').value = 'HW 1'
 
140
    >>> alan.getControl('Description').value = 'Homework 1'
 
141
    >>> alan.getControl('Category').value = ['assignment']
 
142
    >>> alan.getControl('Maximum').value = '50'
 
143
    >>> alan.getControl('Add').click()
 
144
 
 
145
    >>> alan.getLink('New Activity').click()
 
146
    >>> alan.getControl('Title').value = 'Quiz'
 
147
    >>> alan.getControl('Description').value = 'Week 1 Pop Quiz'
 
148
    >>> alan.getControl('Category').value = ['exam']
 
149
    >>> alan.getControl('Add').click()
 
150
 
 
151
Add some grades:
 
152
 
 
153
    >>> alan.getControl(name='Activity_paul').value = '50'
 
154
    >>> alan.getControl(name='Activity_tom').value = '37'
 
155
    >>> alan.getControl(name='Activity_claudia').value = '31'
 
156
 
 
157
    >>> alan.getControl(name='Activity-2_paul').value = '80'
 
158
    >>> alan.getControl(name='Activity-2_tom').value = '70'
 
159
    >>> alan.getControl(name='Activity-2_claudia').value = '60'
 
160
 
 
161
    >>> alan.getControl('Save').click()
 
162
 
 
163
Let's go to his other section in the 2006 year:
 
164
 
 
165
    >>> alan.open(url+'?currentTerm=2006-.semester2-')
 
166
    >>> alan.printQuery('//select[@name="currentTerm"]/option[@selected="selected"]/text()')
 
167
    2006 / Semester2
 
168
    >>> alan.printQuery('//select[@name="currentSection"]/option[@selected="selected"]/text()')
 
169
    Math II - Math II (1)
 
170
 
 
171
Add a couple of activities:
 
172
 
 
173
    >>> alan.getLink('New Activity').click()
 
174
    >>> alan.getControl('Title').value = 'HW 1'
 
175
    >>> alan.getControl('Description').value = 'Homework 1'
 
176
    >>> alan.getControl('Category').value = ['assignment']
 
177
    >>> alan.getControl('Add').click()
 
178
 
 
179
    >>> alan.getLink('New Activity').click()
 
180
    >>> alan.getControl('Title').value = 'Quiz'
 
181
    >>> alan.getControl('Description').value = 'Week 1 Pop Quiz'
 
182
    >>> alan.getControl('Category').value = ['exam']
 
183
    >>> alan.getControl('Add').click()
 
184
 
 
185
Add some grades:
 
186
 
 
187
    >>> alan.getControl(name='Activity_paul').value = '70'
 
188
    >>> alan.getControl(name='Activity_tom').value = '85'
 
189
    >>> alan.getControl(name='Activity_claudia').value = '100'
 
190
 
 
191
    >>> alan.getControl(name='Activity-2_paul').value = '70'
 
192
    >>> alan.getControl(name='Activity-2_tom').value = '80'
 
193
    >>> alan.getControl(name='Activity-2_claudia').value = '100'
 
194
 
 
195
    >>> alan.getControl('Save').click()
 
196
 
 
197
 
 
198
Export Worksheets as XLS
 
199
~~~~~~~~~~~~~~~~~~~~~~~~
 
200
 
 
201
Gradebook's worksheets can be exported to a XLS file:
 
202
 
 
203
    >>> stephan.getLink('Export XLS').click()
 
204
    >>> stephan.headers.get('Content-Type')
 
205
    'application/excel'
 
206
    >>> stephan.open('http://localhost/gradebook.html')
 
207
    >>> stephan.getLink('Worksheets').click()
 
208
    >>> stephan.getLink('Export XLS').click()
 
209
    >>> stephan.headers.get('Content-Type')
 
210
    'application/excel'
 
211
 
 
212
 
 
213
CSV test
 
214
~~~~~~~~
 
215
 
 
216
We supply a CSV view for getting all grades out of schooltool in CSV format.
 
217
 
 
218
    >>> manager.getLink('Manage').click()
 
219
    >>> manager.getLink('Download Gradebook CSV').click()
 
220
    >>> print manager.contents
 
221
    "year","term","section","worksheet","activity","student","grade"
 
222
    "2005","semester1","1","Worksheet","Activity","claudia","45"
 
223
    "2005","semester1","1","Worksheet","Activity-2","claudia","29"
 
224
    "2005","semester1","1","Worksheet","Activity","paul","40"
 
225
    "2005","semester1","1","Worksheet","Activity-2","paul","90"
 
226
    "2005","semester1","1","Worksheet","Activity","tom","48"
 
227
    "2005","semester1","1","Worksheet","Activity-2","tom","88"
 
228
    "2005","semester2","1","Worksheet","Activity","claudia","31"
 
229
    "2005","semester2","1","Worksheet","Activity-2","claudia","60"
 
230
    "2005","semester2","1","Worksheet","Activity","paul","50"
 
231
    "2005","semester2","1","Worksheet","Activity-2","paul","80"
 
232
    "2005","semester2","1","Worksheet","Activity","tom","37"
 
233
    "2005","semester2","1","Worksheet","Activity-2","tom","70"
 
234
    "2006","semester1","1","Worksheet","Activity","claudia","95"
 
235
    "2006","semester1","1","Worksheet","Activity-2","claudia","87"
 
236
    "2006","semester1","1","Worksheet","Activity","paul","90"
 
237
    "2006","semester1","1","Worksheet","Activity-2","paul","100"
 
238
    "2006","semester1","1","Worksheet","Activity","tom","80"
 
239
    "2006","semester1","1","Worksheet","Activity-2","tom","95"
 
240
    "2006","semester2","1","Worksheet","Activity","claudia","100"
 
241
    "2006","semester2","1","Worksheet","Activity-2","claudia","100"
 
242
    "2006","semester2","1","Worksheet","Activity","paul","70"
 
243
    "2006","semester2","1","Worksheet","Activity-2","paul","70"
 
244
    "2006","semester2","1","Worksheet","Activity","tom","85"
 
245
    "2006","semester2","1","Worksheet","Activity-2","tom","80"