def test_save(self):
     data_file = self._data_file('zips/theme.zip')
     with mock.patch.object(Theme, 'save_files') as save_files:
         with mock.patch.object(Theme, 'prune_files') as prune_files:
             form = ThemeForm({'name': 'Theme',
                               'theme_files_zip': data_file})
             self.assertTrue(form.is_valid())
             self.assertTrue(form.instance.site_id is None)
             form.save()
             save_files.assert_called_once_with()
             prune_files.assert_called_once_with()
             self.assertFalse(form.instance.site_id is None)
     data_file.close()
 def test_save(self):
     data_file = self._data_file('zips/theme.zip')
     with mock.patch.object(Theme, 'save_files') as save_files:
         with mock.patch.object(Theme, 'prune_files') as prune_files:
             form = ThemeForm({
                 'name': 'Theme',
                 'theme_files_zip': data_file
             })
             self.assertTrue(form.is_valid())
             self.assertTrue(form.instance.site_id is None)
             form.save()
             save_files.assert_called_once_with()
             prune_files.assert_called_once_with()
             self.assertFalse(form.instance.site_id is None)
     data_file.close()
 def test_zip_not_given(self):
     form = ThemeForm({'name': 'theme',
                       'theme_files_zip': None})
     self.assertTrue(form.is_valid())
     self.assertTrue(form.cleaned_data['theme_files_zip'] is None)
 def test_name_not_given(self):
     form = ThemeForm({'name': '',
                       'theme_files_zip': None})
     self.assertFalse(form.is_valid())
 def test_zip_not_given(self):
     form = ThemeForm({'name': 'theme', 'theme_files_zip': None})
     self.assertTrue(form.is_valid())
     self.assertTrue(form.cleaned_data['theme_files_zip'] is None)
 def test_name_not_given(self):
     form = ThemeForm({'name': '', 'theme_files_zip': None})
     self.assertFalse(form.is_valid())