Ensure npm install before static asset pipeline tests.

This commit is contained in:
John Eskew
2018-01-05 14:43:50 -05:00
parent 042a854bd0
commit 6174e4deb6

View File

@@ -3,6 +3,7 @@
from unittest import skipUnless
import ddt
import os
from django.conf import settings
from django.test import TestCase
from paver.easy import call_task
@@ -49,6 +50,19 @@ class PipelineRenderTest(TestCase):
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'))
@skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in LMS')