Skip to content

Commit

Permalink
make test compatible with environment 4
Browse files Browse the repository at this point in the history
  • Loading branch information
mshima committed May 26, 2023
1 parent 1a11e03 commit 1d2889d
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 20 deletions.
9 changes: 4 additions & 5 deletions test/base.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import _ from 'lodash';
import { spy as sinonSpy, fake as sinonFake, assert as sinonAssert } from 'sinon';
import { passthrough } from '@yeoman/transform';
import assert from 'yeoman-assert';
import YeomanEnvironment from 'yeoman-environment';
import Environment from 'yeoman-environment';
import helpers, { TestAdapter } from 'yeoman-test';
import Base from './utils.js';

Expand All @@ -20,8 +20,7 @@ const __dirname = dirname(__filename);

const tmpdir = path.join(os.tmpdir(), 'yeoman-base');
const resolveddir = path.join(os.tmpdir(), 'yeoman-base-generator');

const { createEnv } = YeomanEnvironment;
const createEnv = (options?) => new Environment({ skipInstall: true, adapter: new TestAdapter(), ...options });

describe('Base', () => {
let env;
Expand All @@ -31,7 +30,7 @@ describe('Base', () => {
beforeEach(helpers.setUpTestDirectory(tmpdir));

beforeEach(function () {
env = createEnv([], { 'skip-install': true }, new TestAdapter());
env = createEnv();
// Ignore error forwarded to environment
env.on('error', _ => {});

Expand Down Expand Up @@ -422,7 +421,7 @@ describe('Base', () => {
this.fs.write(filepath, 'some new content');
};

const env = createEnv([], { 'skip-install': true }, new TestAdapter({ mockedAnswers: action }));
const env = createEnv({ adapter: new TestAdapter({ mockedAnswers: action }) });
const testGen = new TestGenerator([], {
resolved: 'generator/app/index.js',
namespace: 'dummy',
Expand Down
11 changes: 3 additions & 8 deletions test/environment.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ describe('Generator with environment version', () => {
describe('mocked 3.0.0', () => {
before(function () {
this.timeout(100_000);
this.env = Environment.createEnv([], { 'skip-install': true }, new TestAdapter());
this.env = new Environment({ skipInstall: true, adapter: new TestAdapter() });
this.env.getVersion = this.env.getVersion || (() => {});
this.getVersionStub = sinonStub(this.env, 'getVersion');

Expand Down Expand Up @@ -165,9 +165,8 @@ describe('Generator with environment version', () => {
describe('mocked 2.8.1', () => {
before(function () {
this.timeout(100_000);
this.env = Environment.createEnv([], { 'skip-install': true }, new TestAdapter());
this.getVersion = Environment.prototype.getVersion;
delete Environment.prototype.getVersion;
this.env = new Environment({ skipInstall: true, adapter: new TestAdapter() });
this.env.getVersion = undefined;

this.Dummy = class extends Base {};
this.dummy = new this.Dummy(['bar', 'baz', 'bom'], {
Expand All @@ -180,10 +179,6 @@ describe('Generator with environment version', () => {
});
});

after(function () {
Environment.prototype.getVersion = this.getVersion;
});

describe('#checkEnvironmentVersion', () => {
describe('without args', () => {
it('throws exception', function () {
Expand Down
6 changes: 4 additions & 2 deletions test/fs.test.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import assert from 'node:assert';
import path from 'node:path';
import { esmocha } from 'esmocha';
import { stub as sinonStub } from 'sinon';
import Environment from 'yeoman-environment';
import { esmocha } from 'esmocha';
import { TestAdapter } from 'yeoman-test';
import BaseGenerator from '../src/generator.js';
import Base from './utils.js';

const randomString = () => Math.random().toString(36).slice(7);
const createEnv = () => new Environment({ skipInstall: true, adapter: new TestAdapter() });

describe('generators.Base (actions/fs)', () => {
const baseReturns = {
Expand All @@ -18,7 +20,7 @@ describe('generators.Base (actions/fs)', () => {

before(function () {
this.timeout(10_000);
this.gen = new Base({ env: Environment.createEnv() });
this.gen = new Base({ env: createEnv() });
});

beforeEach(function () {
Expand Down
5 changes: 3 additions & 2 deletions test/generators-compose-workflow.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,20 @@ import os from 'node:os';
import path from 'node:path';
import { mkdirSync } from 'node:fs';
import { spy as sinonSpy, assert as sinonAssert } from 'sinon';
import yeoman from 'yeoman-environment';
import Environment from 'yeoman-environment';
import assert from 'yeoman-assert';
import helpers, { TestAdapter } from 'yeoman-test';
import Base from './utils.js';

const tmpdir = path.join(os.tmpdir(), 'yeoman-base');
const resolveddir = path.join(os.tmpdir(), 'yeoman-base-generator');
const createEnv = () => new Environment({ skipInstall: true, adapter: new TestAdapter() });

describe('Multiples generators', () => {
beforeEach(helpers.setUpTestDirectory(tmpdir));

beforeEach(function () {
this.env = yeoman.createEnv([], { 'skip-install': true }, new TestAdapter());
this.env = createEnv();
mkdirSync(resolveddir, { recursive: true });
this.Dummy = class extends Base {};
this.spyExec = sinonSpy();
Expand Down
4 changes: 3 additions & 1 deletion test/generators.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@ import path from 'node:path';
import os from 'node:os';
import Environment from 'yeoman-environment';
import assert from 'yeoman-assert';
import { TestAdapter } from 'yeoman-test';
import semver from 'semver';
import Base from './utils.js';

const NAMESPACE = 'somenamespace';
const createEnv = () => new Environment({ skipInstall: true, adapter: new TestAdapter() });

describe('Generators module', () => {
beforeEach(function () {
this.env = Environment.createEnv();
this.env = createEnv();
});

describe('Base', () => {
Expand Down
6 changes: 4 additions & 2 deletions test/prompt-suggestion.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,18 @@ import assert from 'node:assert';
import os from 'node:os';
import { rmSync } from 'node:fs';
import inquirer from 'inquirer';
import env from 'yeoman-environment';
import Environment from 'yeoman-environment';
import { TestAdapter } from 'yeoman-test';
import { create as createMemFsEditor } from 'mem-fs-editor';
import Storage from '../src/util/storage.js';
import { prefillQuestions, storeAnswers } from '../src/util/prompt-suggestion.js';

const createEnv = () => new Environment({ skipInstall: true, adapter: new TestAdapter() });
/* eslint max-nested-callbacks: ["warn", 6] */

describe('PromptSuggestion', () => {
beforeEach(function () {
this.memFs = env.createEnv().sharedFs;
this.memFs = createEnv().sharedFs;
this.fs = createMemFsEditor(this.memFs);
this.storePath = path.join(os.tmpdir(), 'suggestion-config.json');
this.store = new Storage('suggestion', this.fs, this.storePath);
Expand Down

0 comments on commit 1d2889d

Please sign in to comment.