def tearDown(self):
     # Populate everything again so our setting changes do not effect
     # any other tests
     importlib.reload(cms_config)
     self.app.cms_extension.navigation_apps_models = {}
     self.app.cms_config = cms_config.NavigationCMSAppConfig(self.app)
     configure_cms_apps([self.app])
    def test_cms_models_added_to_navigation_by_default(self):
        importlib.reload(cms_config)  # Reload so setting gets checked again
        # The app should have a cms config with the overridden setting
        self.app.cms_config = cms_config.NavigationCMSAppConfig(self.app)

        configure_cms_apps([self.app])

        self.assertIn(Page, self.app.cms_extension.navigation_apps_models)
 def tearDown(self):
     """Populate everything again so our setting changes do not
     effect any other tests"""
     # Set the defaults for the navigation app config again
     importlib.reload(cms_config)
     navigation_app = apps.get_app_config('djangocms_navigation')
     navigation_app.cms_config = cms_config.NavigationCMSAppConfig(
         navigation_app)
     # Reset the versioning app
     self.moderation_app.cms_extension.moderated_models = []
     configure_cms_apps([self.moderation_app])
    def test_navigation_is_moderated_if_moderation_setting_disabled(self):
        importlib.reload(cms_config)  # Reload so setting gets checked again
        # The app should have a cms config with the overridden setting
        navigation_app = apps.get_app_config('djangocms_navigation')
        navigation_app.cms_config = cms_config.NavigationCMSAppConfig(
            navigation_app)

        with patch.object(app_registration,
                          'get_cms_config_apps',
                          return_value=[navigation_app]):
            configure_cms_apps([self.moderation_app])

        self.assertEqual(
            len(self.moderation_app.cms_extension.moderated_models), 0)
    def test_navigation_is_versioned_by_default(self):
        importlib.reload(cms_config)  # Reload so setting gets checked again
        # The app should have a cms config with the overridden setting
        navigation_app = apps.get_app_config('djangocms_navigation')
        navigation_app.cms_config = cms_config.NavigationCMSAppConfig(
            navigation_app)

        with patch.object(app_registration,
                          'get_cms_config_apps',
                          return_value=[navigation_app]):
            configure_cms_apps([self.versioning_app])

        self.assertEqual(len(self.versioning_app.cms_extension.versionables),
                         1)
        self.assertEqual(
            self.versioning_app.cms_extension.versionables[0].content_model,
            MenuContent)