4
We want to allow the user to hide a worksheet so that it no longer figures in
5
the gradebook. The worksheet will not be deleted from the database, but it
6
will be ignored in all areas of gradebook management.
10
>>> manager = Browser('manager', 'schooltool')
12
Now, set up a school year (2005-2006) with two terms (Fall and
15
>>> from schooltool.app.browser.ftests import setup
16
>>> setup.setUpBasicSchool()
20
>>> setup.addCourse('Math I', '2005-2006')
24
>>> from schooltool.basicperson.browser.ftests.setup import addPerson
25
>>> addPerson('Paul', 'Cardune', 'paul', 'pwd', browser=manager)
26
>>> addPerson('Tom', 'Hoffman', 'tom', 'pwd', browser=manager)
27
>>> addPerson('Claudia', 'Richter', 'claudia', 'pwd', browser=manager)
28
>>> addPerson('Stephan', 'Richter', 'stephan', 'pwd', browser=manager)
30
Set up one section with instructor and students:
32
>>> setup.addSection('Math I', '2005-2006', 'Fall',
33
... instructors=['Stephan'],
34
... members=['Tom', 'Claudia', 'Paul'])
38
>>> stephan = Browser('stephan', 'pwd')
40
Add a couple of activities to the default worksheet:
42
>>> stephan.getLink('Gradebook').click()
43
>>> stephan.printQuery('//select[@name="currentTerm"]/option[@selected="selected"]/text()')
45
>>> stephan.printQuery('//select[@name="currentSection"]/option[@selected="selected"]/text()')
47
>>> stephan.printQuery('//table[@class="schooltool_gradebook"][1]/tr/td')
48
<td class="active_tab">
49
<span style="font-weight: bold;">Sheet1</span>
51
>>> stephan.getLink('New Activity').click()
52
>>> stephan.getControl('Title').value = 'HW 1'
53
>>> stephan.getControl('Description').value = 'Homework 1'
54
>>> stephan.getControl('Category').value = ['assignment']
55
>>> stephan.getControl('Maximum').value = '50'
56
>>> stephan.getControl('Add').click()
58
>>> stephan.getLink('New Activity').click()
59
>>> stephan.getControl('Title').value = 'Quiz'
60
>>> stephan.getControl('Description').value = 'Week 1 Pop Quiz'
61
>>> stephan.getControl('Category').value = ['exam']
62
>>> stephan.getControl('Add').click()
64
We'll add a new worksheet called 'Second Sheet' and note its presence
67
>>> stephan.getLink('Worksheets').click()
68
>>> stephan.getLink('New Worksheet').click()
69
>>> stephan.getControl('Title').value = 'Second Sheet'
70
>>> stephan.getControl('Add').click()
71
>>> stephan.printQuery('//h1')
73
>>> stephan.printQuery('//form//table/tr/td[3]/a/text()')
77
We'll make it the user's current worksheet to make sure we can handle hiding
78
a worksheet that happens to be the current one for the user.
80
>>> stephan.getLink('Return to Gradebook').click()
81
>>> stephan.getLink('Second Sheet').click()
82
>>> stephan.printQuery('//table[@class="schooltool_gradebook"][1]/tr/td')
83
<td class="active_tab">
84
<a href="...">Sheet1</a>
86
<td class="active_tab">
87
<span style="font-weight: bold;">Second Sheet</span>
90
Now we'll hide our newly added worksheet, noting its absense from the list.
92
>>> stephan.getLink('Worksheets').click()
93
>>> stephan.getControl(name='hide:list').value = ['Worksheet-2']
94
>>> stephan.getControl('Hide').click()
95
>>> stephan.printQuery('//h1')
97
>>> stephan.printQuery('//form//table/tr/td[3]/a/text()')
100
Finally, we'll return to the gradebook, noting that it handles the current
101
worksheet being hidden, changing the current worksheet to the first one that
104
>>> stephan.getLink('Return to Gradebook').click()
105
>>> stephan.printQuery('//table[@class="schooltool_gradebook"][1]/tr/td')
106
<td class="active_tab">
107
<span style="font-weight: bold;">Sheet1</span>
114
Now that we can hide worksheets, we need to allow the user to change
115
their mind and unhide a worksheet they previously hid. We need to
116
navigate to the worksheets from which we can call up the view for
119
>>> stephan.getLink('Worksheets').click()
120
>>> stephan.getLink('Unhide Worksheets').click()
121
>>> stephan.printQuery('//h1/text()')
123
>>> stephan.printQuery('//form//table/tr/td[2]/span/text()')
126
We'll choose the worksheet we just hid and hit the Unhide button. The
127
view automatically returns to the worksheets view. There we see that
128
the worksheet has reappeared in the worksheets list.
130
>>> stephan.getControl(name='unhide:list').value = ['Worksheet-2']
131
>>> stephan.getControl('Unhide').click()
132
>>> stephan.printQuery('//h1')
134
>>> stephan.printQuery('//form//table/tr/td[3]/a/text()')
138
We'll return to the gradebook to see both worksheets:
140
>>> stephan.getLink('Return to Gradebook').click()
141
>>> stephan.printQuery('//table[@class="schooltool_gradebook"][1]/tr/td')
142
<td class="active_tab">
143
<span style="font-weight: bold;">Sheet1</span>
145
<td class="active_tab">
146
<a href="...">Second Sheet</a>