def test_add_plugins_from_placeholder(self): version = factories.PageVersionFactory() source_placeholder = factories.PlaceholderFactory(source=version.content) target_placeholder = factories.PlaceholderFactory(source=version.content) poll = factories.PollFactory() plugin = add_plugin( source_placeholder, "PollPlugin", version.content.language, poll=poll ) dt = datetime(2016, 6, 6, tzinfo=timezone.utc) with freeze_time(dt): endpoint = self.get_copy_plugin_uri(plugin) data = { "source_language": version.content.language, "source_placeholder_id": source_placeholder.pk, "target_language": version.content.language, "target_placeholder_id": target_placeholder.pk, } with self.login_user_context(self.get_superuser()): response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 200) version = Version.objects.get(pk=version.pk) self.assertEqual(version.modified, dt)
def test_cut_plugin(self): version = factories.PageVersionFactory() placeholder = factories.PlaceholderFactory(source=version.content) poll = factories.PollFactory() user_settings = UserSettings.objects.create( language=version.content.language, user=self.get_superuser(), clipboard=Placeholder.objects.create(slot="clipboard"), ) plugin = add_plugin( placeholder, "PollPlugin", version.content.language, poll=poll ) dt = datetime(2016, 6, 6, tzinfo=timezone.utc) with freeze_time(dt): endpoint = self.get_move_plugin_uri(plugin) data = { "plugin_id": plugin.pk, "target_language": version.content.language, "placeholder_id": user_settings.clipboard_id, } with self.login_user_context(self.get_superuser()): response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 200) version = Version.objects.get(pk=version.pk) self.assertEqual(version.modified, dt)
def test_copy_plugins_method_used(self): original_version = factories.PageVersionFactory() placeholder = factories.PlaceholderFactory( source=original_version.content) original_version.content.placeholders.add(placeholder) user = factories.UserFactory() with patch("djangocms_versioning.cms_config.Placeholder.copy_plugins" ) as mocked_copy: new_version = original_version.copy(user) new_placeholder = new_version.content.placeholders.get() mocked_copy.assert_called_once_with(new_placeholder)
def test_clear_placeholder(self): version = factories.PageVersionFactory() placeholder = factories.PlaceholderFactory(source=version.content) dt = datetime(2016, 6, 6, tzinfo=timezone.utc) with freeze_time(dt): endpoint = self.get_clear_placeholder_url(placeholder) with self.login_user_context(self.get_superuser()): response = self.client.post(endpoint, {"test": 0}) self.assertEqual(response.status_code, 302) version = Version.objects.get(pk=version.pk) self.assertEqual(version.modified, dt)
def test_text_plugins_are_copied(self): """The implementation of versioning for PageContent correctly copies text plugins """ original_version = factories.PageVersionFactory() placeholder = factories.PlaceholderFactory( source=original_version.content) original_version.content.placeholders.add(placeholder) with freeze_time("2017-07-07"): # Make sure created in the past original_plugins = factories.TextPluginFactory.create_batch( 2, placeholder=placeholder) user = factories.UserFactory() new_version = original_version.copy(user) new_plugins = new_version.content.placeholders.get().cmsplugin_set.all( ) self.assertEqual(new_plugins.count(), 2) self.assertNotEqual(new_plugins[0].pk, original_plugins[0].pk) self.assertEqual(new_plugins[0].language, original_plugins[0].language) self.assertIsNone(new_plugins[0].parent) self.assertEqual(new_plugins[0].position, original_plugins[0].position) self.assertEqual(new_plugins[0].plugin_type, original_plugins[0].plugin_type) self.assertEqual( new_plugins[0].djangocms_text_ckeditor_text.body, original_plugins[0].djangocms_text_ckeditor_text.body, ) self.assertEqual(new_plugins[0].creation_date, original_plugins[0].creation_date) self.assertEqual(new_plugins[0].changed_date, now()) self.assertNotEqual(new_plugins[1].pk, original_plugins[1].pk) self.assertEqual(new_plugins[1].language, original_plugins[1].language) self.assertIsNone(new_plugins[1].parent) self.assertEqual(new_plugins[1].position, original_plugins[1].position) self.assertEqual(new_plugins[1].plugin_type, original_plugins[1].plugin_type) self.assertEqual( new_plugins[1].djangocms_text_ckeditor_text.body, original_plugins[1].djangocms_text_ckeditor_text.body, ) self.assertEqual(new_plugins[1].creation_date, original_plugins[1].creation_date) self.assertEqual(new_plugins[1].changed_date, now())
def test_add_plugin(self): version = factories.PageVersionFactory() placeholder = factories.PlaceholderFactory(source=version.content) poll = factories.PollFactory() dt = datetime(2016, 6, 6, tzinfo=timezone.utc) with freeze_time(dt): endpoint = self.get_add_plugin_uri( placeholder=placeholder, plugin_type="PollPlugin", language=version.content.language, ) data = {"poll": poll.pk} with self.login_user_context(self.get_superuser()): response = self.client.post(endpoint, data) self.assertEqual(response.status_code, 200) version = Version.objects.get(pk=version.pk) self.assertEqual(version.modified, dt)