UNPKG

liferay-theme-tasks

Version:

A set of tasks for building and deploying Liferay Portal themes.

63 lines (45 loc) 1.71 kB
/** * SPDX-FileCopyrightText: © 2017 Liferay, Inc. <https://liferay.com> * SPDX-License-Identifier: MIT */ const fs = require('fs-extra'); const path = require('path'); const project = require('../index'); const prjPath = path.join(__dirname, 'fixtures', 'a-project'); const pkgJsonPath = path.join(prjPath, 'package.json'); const savedCwd = process.cwd(); const savedPkgJson = fs.readJSONSync(pkgJsonPath); beforeEach(() => { process.chdir(prjPath); project._reload(); }); afterEach(() => { fs.writeJSONSync(pkgJsonPath, savedPkgJson, {spaces: '\t'}); process.chdir(savedCwd); }); it('removeDependencies should remove dependencies from package.json', () => { project.removeDependencies(['test-themelet']); const {pkgJson} = project; expect(pkgJson.dependencies).not.toHaveProperty('test-themelet'); expect(pkgJson.dependencies).toHaveProperty('gulp'); expect(pkgJson.dependencies).toHaveProperty('liferay-theme-tasks'); }); it('setDependencies should add new npm dependencies without removing previously added dependencies', () => { project.setDependencies({ 'fake-module': '*', }); const {dependencies} = project.pkgJson; expect(dependencies).toHaveProperty('fake-module'); expect(dependencies).toHaveProperty('gulp'); expect(dependencies).toHaveProperty('liferay-theme-tasks'); }); it('setDependencies should add to devDependencies and leave dependencies alone', () => { const {pkgJson} = project; const newDependencies = { 'fake-module': '*', }; project.setDependencies(newDependencies, true); const {pkgJson: newPkgJson} = project; expect(pkgJson.dependencies).toEqual(newPkgJson.dependencies); expect(newDependencies).toEqual(newPkgJson.devDependencies); });