Skip to content
Snippets Groups Projects
Commit e614b960 authored by Michael Youngstrom's avatar Michael Youngstrom
Browse files

Refactor PipelineRenderTest to avoid npm install

parent 20f0ccbe
No related merge requests found
......@@ -7,6 +7,7 @@ import os
from django.conf import settings
from django.test import TestCase
from paver.easy import call_task
from mock import patch
from pipeline_mako import compressed_css, compressed_js, render_require_js_path_overrides
......@@ -41,38 +42,22 @@ class RequireJSPathOverridesTest(TestCase):
self.assertEqual(map(str.strip, result.splitlines()), self.OVERRIDES_JS)
@skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in LMS')
@ddt.ddt
class PipelineRenderTest(TestCase):
"""Test individual pipeline rendering functions. """
shard = 7
@classmethod
def setUpClass(cls):
"""
Create static assets once for all pipeline render tests.
"""
super(PipelineRenderTest, cls).setUpClass()
# Ensure that the npm requirements are always installed before updating static assets.
prereq_install_value_orig = os.environ.get('NO_PREREQ_INSTALL')
os.environ['NO_PREREQ_INSTALL'] = 'False'
try:
call_task('pavelib.prereqs.install_node_prereqs')
except:
raise
finally:
if prereq_install_value_orig is None:
del os.environ['NO_PREREQ_INSTALL']
else:
os.environ['NO_PREREQ_INSTALL'] = prereq_install_value_orig
# Update all static assets.
call_task('pavelib.assets.update_assets', args=('lms', '--settings=test', '--themes=no'))
@staticmethod
def mock_staticfiles_lookup(path):
return '/static/' + path
@skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in LMS')
@patch('static_replace.try_staticfiles_lookup', side_effect=mock_staticfiles_lookup)
@ddt.data(
(True,),
(False,),
)
def test_compressed_css(self, pipeline_enabled):
def test_compressed_css(self, pipeline_enabled, mock_staticfiles_lookup):
"""
Verify the behavior of compressed_css, with the pipeline
both enabled and disabled.
......@@ -86,8 +71,9 @@ class PipelineRenderTest(TestCase):
css_include = compressed_css('style-main-v1', raw=True)
self.assertIn(u'lms-main-v1.css?raw', css_include)
@skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in LMS')
def test_compressed_js(self):
@patch('django.contrib.staticfiles.storage.staticfiles_storage.exists', return_value=True)
@patch('static_replace.try_staticfiles_lookup', side_effect=mock_staticfiles_lookup)
def test_compressed_js(self, mock_staticfiles_lookup, mock_staticfiles_exists):
"""
Verify the behavior of compressed_css, with the pipeline
both enabled and disabled.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment