Exemple #1
0
class FileAddViewTests(unittest.TestCase):
    def setUp(self):
        from Products.Reflecto.browser.addfile import FileAddForm
        self.path = mkdtemp()
        context = MockContext(self.path)
        self.view = FileAddForm(context, MockRequest())
        
    def tearDown(self):
        rmtree(self.path)
        
    def testGetFilePath(self):
        expected = os.path.join(self.path, 'foo')
        file = MockFile('foo')
        self.assertEqual(self.view.getFilePath(file), expected)
        
    def testAddValidateCorrect(self):
        data = dict(file=MockFile('foo'))
        # No widgets needed for this test
        self.view.widgets = Widgets((), prefix_length=0) 
        self.assertEqual(self.view.addValidate(None, data), [])
        
    def testAddValidateIncorrect(self):
        data = dict(file=MockFile('existing'))
        # No widgets needed for this test
        self.view.widgets = Widgets((), prefix_length=0) 
        errors = self.view.addValidate(None, data)
        self.assertEqual(len(errors), 1)
        self.assertEqual(errors[0].field_name, 'file')
        
    def testAddValidateIE(self):
        # IE uses the full path for the filename, tsk tsk. Reflecto issue #7
        # No widgets needed for this test
        self.view.widgets = Widgets((), prefix_length=0) 
        data = dict(file=MockFile('C:\\monty\\foo'))
        self.assertEqual(self.view.addValidate(None, data), [])
        
        data = dict(file=MockFile('C:\\monty\\existing'))
        errors = self.view.addValidate(None, data)
        self.assertEqual(len(errors), 1)
        self.assertEqual(errors[0].field_name, 'file')
        
    def testAddFile(self):
        data = dict(file=MockFile('foo'))
        # addFile has been wrapped into an action, reach inside
        self.view.addFile.success(data)
        
        newpath = os.path.join(self.path, 'foo')
        self.assertTrue(os.path.exists(newpath))
        self.assertEqual(open(newpath).read(), MockFile.data)
        
        self.assertEqual(self.view.request.redirected, 'reflecto/')
        
        self.assertTrue(self.view.context.portal_message is not None)
Exemple #2
0
 def setUp(self):
     from Products.Reflecto.browser.addfile import FileAddForm
     self.path = mkdtemp()
     context = MockContext(self.path)
     self.view = FileAddForm(context, MockRequest())