~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/urls/test_router.py

  • Committer: William Grant
  • Date: 2009-07-02 09:40:39 UTC
  • mto: (1294.4.2 ui-the-third)
  • mto: This revision was merged to the branch mainline in revision 1353.
  • Revision ID: grantw@unimelb.edu.au-20090702094039-u27y95m4oj8auf3d
Refactor generation tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
155
155
        assert router.resolve('/blah') == (self.r, None)
156
156
 
157
157
class TestGeneration(BaseTest):
 
158
    def setUp(self):
 
159
        super(TestGeneration, self).setUp()
 
160
        self.rtr = Router(root=self.r, viewset='browser')
 
161
        self.rtr.add_set_switch('api', 'api')
 
162
        self.rtr.add_reverse(Subject, subject_url)
 
163
        self.rtr.add_reverse(Offering, offering_url)
 
164
        self.rtr.add_view(Subject, '+index', SubjectIndex, viewset='browser')
 
165
        self.rtr.add_view(Subject, '+edit', SubjectEdit, viewset='browser')
 
166
        self.rtr.add_view(Offering, '+index', OfferingIndex, viewset='browser')
 
167
        self.rtr.add_view(Offering, '+index', OfferingAPIIndex, viewset='api')
 
168
 
158
169
    def testOneLevel(self):
159
 
        router = Router(root=self.r)
160
 
        router.add_reverse(Subject, subject_url)
161
 
 
162
 
        assert router.generate(self.r.subjects['info1']) == '/info1'
 
170
        assert_equal(self.rtr.generate(self.r.subjects['info1']), '/info1')
163
171
 
164
172
    def testTwoLevel(self):
165
 
        router = Router(root=self.r)
166
 
        router.add_reverse(Subject, subject_url)
167
 
        router.add_reverse(Offering, offering_url)
 
173
        assert_equal(
 
174
            self.rtr.generate(self.r.subjects['info1'].offerings[(2009, 1)]),
 
175
            '/info1/2009/1'
 
176
            )
 
177
        assert_equal(
 
178
            self.rtr.generate(self.r.subjects['info2'].offerings[(2008, 2)]),
 
179
            '/info2/2008/2'
 
180
            )
168
181
 
169
 
        assert router.generate(self.r.subjects['info1'].offerings[(2009, 1)]) \
170
 
               == '/info1/2009/1'
171
 
        assert router.generate(self.r.subjects['info2'].offerings[(2008, 2)]) \
172
 
               == '/info2/2008/2'
 
182
    def testView(self):
 
183
        assert_equal(self.rtr.generate(self.r.subjects['info1'], SubjectEdit),
 
184
                     '/info1/+edit'
 
185
                     )
173
186
 
174
187
    def testDefaultView(self):
175
 
        router = Router(root=self.r, viewset='browser')
176
 
        router.add_reverse(Subject, subject_url)
177
 
        router.add_reverse(Offering, offering_url)
178
 
        router.add_set_switch('api', 'api')
179
 
        router.add_view(Subject, '+index', SubjectIndex, viewset='browser')
180
 
        router.add_view(Subject, '+edit', SubjectEdit, viewset='browser')
181
 
        router.add_view(Offering, '+index', OfferingIndex, viewset='browser')
182
 
        router.add_view(Offering, '+index', OfferingAPIIndex, viewset='api')
 
188
        assert_equal(
 
189
            self.rtr.generate(self.r.subjects['info1'].offerings[(2009, 1)],
 
190
                              OfferingIndex
 
191
                              ),
 
192
            '/info1/2009/1'
 
193
            )
183
194
 
184
 
        assert router.generate(self.r.subjects['info1'], SubjectIndex) \
185
 
               == '/info1'
186
 
        assert router.generate(self.r.subjects['info1'], SubjectEdit) \
187
 
               == '/info1/+edit'
188
 
        assert router.generate(self.r.subjects['info1'].offerings[(2009, 1)],
189
 
                                   OfferingIndex) == '/info1/2009/1'
190
 
        assert router.generate(self.r.subjects['info1'].offerings[(2009, 1)],
191
 
                                   OfferingAPIIndex) == '/api/info1/2009/1'
 
195
    def testAlternateViewSetWithDefault(self):
 
196
        assert_equal(
 
197
            self.rtr.generate(self.r.subjects['info1'].offerings[(2009, 1)],
 
198
                              OfferingAPIIndex
 
199
                              ),
 
200
            '/api/info1/2009/1'
 
201
            )
192
202
 
193
203
 
194
204
class TestErrors(BaseTest):