示例#1
0
    def test_save_version(self):
        ap = VersionAdminPanel(self.env)
        old_name = '2.0'
        new_name = '4.0 dev'
        version = Version(self.env, old_name)
        self.assertEqual(old_name, version.name)

        req = MockRequest(self.env,
                          method='POST',
                          args={
                              'name': ' 1.0 ',
                              'save': True
                          })
        with self.assertRaises(ResourceExistsError) as cm:
            ap.render_admin_panel(req, 'ticket', 'version', old_name)
        self.assertIn('Version "1.0" already exists', unicode(cm.exception))

        req = MockRequest(self.env,
                          method='POST',
                          args={
                              'name': ' 4.0 \t dev ',
                              'save': True
                          })
        self.assertRaises(RequestDone, ap.render_admin_panel, req, 'ticket',
                          'version', old_name)
        self.assertIn('Your changes have been saved.', req.chrome['notices'])

        version = Version(self.env, new_name)
        self.assertEqual(new_name, version.name)
        self.assertRaises(ResourceNotFound, ap.render_admin_panel, req,
                          'ticket', 'version', old_name)
        self.assertRaises(ResourceNotFound, Version, self.env, old_name)
示例#2
0
文件: admin.py 项目: mugglecloud/trac
    def test_add_version_with_spaces(self):
        name = '4.0 dev'
        ap = VersionAdminPanel(self.env)
        req = MockRequest(self.env, method='POST',
                          args={'name': ' 4.0 \t dev ', 'add': True})

        self.assertRaises(ResourceNotFound, Version, self.env, name)
        self.assertRaises(RequestDone, ap.render_admin_panel, req,
                          'ticket', 'version', None)
        self.assertIn('The version "4.0 dev" has been added.',
                      req.chrome['notices'])
        version = Version(self.env, name)
        self.assertEqual(name, version.name)

        with self.assertRaises(ResourceExistsError) as cm:
            ap.render_admin_panel(req, 'ticket', 'version', None)
        self.assertIn('Version "4.0 dev" already exists', str(cm.exception))