Skip to content

Commit

Permalink
feat(core): add unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
meeroslav committed Apr 6, 2023
1 parent 75dc9b6 commit 55edd9f
Showing 1 changed file with 124 additions and 0 deletions.
124 changes: 124 additions & 0 deletions packages/nx/src/migrations/update-15-0-0/migrate-to-inputs.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,130 @@ describe('15.0.0 migration (migrate-to-inputs)', () => {
const updatedWorkspace = readNxJson(tree);
expect(updatedWorkspace.namedInputs).not.toBeDefined();
});

it('should not override production inputs when migrating "implicitDependencies"', async () => {
updateNxJson(tree, {
namedInputs: {
default: ['{projectRoot}/**/*', 'sharedGlobals'],
production: [
'default',
'!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',
'!{projectRoot}/tsconfig.spec.json',
'!{projectRoot}/jest.config.[jt]s',
'!{projectRoot}/.eslintrc.json',
],
sharedGlobals: ['{workspaceRoot}/nx.json'],
},
implicitDependencies: {
'.eslintrc.json': '*',
},
});
await migrateToInputs(tree);

const updated = readNxJson(tree);

expect(updated.implicitDependencies).toBeUndefined();
expect(updated).toMatchInlineSnapshot(`
Object {
"namedInputs": Object {
"default": Array [
"{projectRoot}/**/*",
"sharedGlobals",
],
"production": Array [
"default",
"!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
"!{projectRoot}/tsconfig.spec.json",
"!{projectRoot}/jest.config.[jt]s",
"!{projectRoot}/.eslintrc.json",
],
"sharedGlobals": Array [
"{workspaceRoot}/nx.json",
],
},
}
`);
});

it('should only preppend "default" to production inputs if missing when migrating "implicitDependencies"', async () => {
updateNxJson(tree, {
namedInputs: {
default: ['{projectRoot}/**/*', 'sharedGlobals'],
production: [
'!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',
'!{projectRoot}/tsconfig.spec.json',
'!{projectRoot}/jest.config.[jt]s',
'!{projectRoot}/.eslintrc.json',
],
sharedGlobals: ['{workspaceRoot}/nx.json'],
},
implicitDependencies: {
'.eslintrc.json': '*',
},
});
await migrateToInputs(tree);

const updated = readNxJson(tree);

expect(updated.implicitDependencies).toBeUndefined();
expect(updated).toMatchInlineSnapshot(`
Object {
"namedInputs": Object {
"default": Array [
"{projectRoot}/**/*",
"sharedGlobals",
],
"production": Array [
"default",
"!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
"!{projectRoot}/tsconfig.spec.json",
"!{projectRoot}/jest.config.[jt]s",
"!{projectRoot}/.eslintrc.json",
],
"sharedGlobals": Array [
"{workspaceRoot}/nx.json",
],
},
}
`);
});

it('should not modify production inputs if "default" is missing when migrating "implicitDependencies"', async () => {
updateNxJson(tree, {
namedInputs: {
production: [
'!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',
'!{projectRoot}/tsconfig.spec.json',
'!{projectRoot}/jest.config.[jt]s',
'!{projectRoot}/.eslintrc.json',
],
sharedGlobals: ['{workspaceRoot}/nx.json'],
},
implicitDependencies: {
'.eslintrc.json': '*',
},
});
await migrateToInputs(tree);

const updated = readNxJson(tree);

expect(updated.implicitDependencies).toBeUndefined();
expect(updated).toMatchInlineSnapshot(`
Object {
"namedInputs": Object {
"production": Array [
"!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
"!{projectRoot}/tsconfig.spec.json",
"!{projectRoot}/jest.config.[jt]s",
"!{projectRoot}/.eslintrc.json",
],
"sharedGlobals": Array [
"{workspaceRoot}/nx.json",
],
},
}
`);
});
});

describe('15.0.0 migration (migrate-to-inputs) (v1)', () => {
Expand Down

0 comments on commit 55edd9f

Please sign in to comment.