Skip to content

Commit

Permalink
Upgrade start-server-and-test and return exitCode, fix failing tests. (
Browse files Browse the repository at this point in the history
  • Loading branch information
timleslie authored Sep 16, 2019
1 parent 7689753 commit b73dd35
Show file tree
Hide file tree
Showing 12 changed files with 90 additions and 102 deletions.
9 changes: 9 additions & 0 deletions .changeset/four-ads-collect/changes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"releases": [
{ "name": "@keystone-alpha/cypress-project-access-control", "type": "patch" },
{ "name": "@keystone-alpha/cypress-project-basic", "type": "patch" },
{ "name": "@keystone-alpha/cypress-project-client-validation", "type": "patch" },
{ "name": "@keystone-alpha/cypress-project-login", "type": "patch" }
],
"dependents": []
}
1 change: 1 addition & 0 deletions .changeset/four-ads-collect/changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix flakey integration tests
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@
"remark-cli": "^6.0.1",
"remark-frontmatter": "^1.3.1",
"remark-toc": "^5.1.1",
"start-server-and-test": "^1.7.13",
"start-server-and-test": "^1.10.2",
"supertest-light": "^1.0.2",
"terminal-link": "^1.3.0",
"terminal-link-cli": "^2.0.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ describe('Access Control, List, GraphQL', () => {
const name = getStaticListName(access);

// The type is used in all the queries and mutations as a return type
if (access.create || access.read || access.update || access.delete) {
if (access.create || access.read || access.update || access.delete || access.auth) {
expect(types, 'types').include(`${name}`);
// Filter types are also available for update/delete/create (thanks
// to nested mutations)
Expand Down
2 changes: 1 addition & 1 deletion test-projects/access-control/cypress/integration/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ function yesNo(truthy) {

function getPrefix(access) {
// prettier-ignore
let prefix = `${yesNo(access.create)}Create${yesNo(access.read)}Read${yesNo(access.update)}Update`;
let prefix = `${yesNo(access.create)}Create${yesNo(access.read)}Read${yesNo(access.update)}Update${yesNo(access.auth)}Auth`;
if (Object.prototype.hasOwnProperty.call(access, 'delete')) {
prefix = `${prefix}${yesNo(access.delete)}Delete`;
}
Expand Down
6 changes: 3 additions & 3 deletions test-projects/access-control/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"start": "node -r dotenv-safe/config server.js | sed -l -e 's/:\\s*undefined\\s*,/:null,/g' | tee out.log | pino-colada",
"cypress:run:cmd": "node -r dotenv-safe/config `which cypress` run",
"cypress:open:cmd": "node -r dotenv-safe/config `which cypress` open",
"prepare-test-server": "cross-env NODE_ENV=test DISABLE_LOGGING=true node -r dotenv-safe/config -e 'require(`execa`)(`start-server-and-test`, [`start`, `http-get://localhost:${process.env.PORT}/admin`, process.argv[1]], { stdio: `inherit` }).catch(error => { console.error(error.toString()); process.exit(error.code) })'",
"prepare-test-server": "cross-env NODE_ENV=test DISABLE_LOGGING=true node -r dotenv-safe/config -e 'require(`execa`)(`start-server-and-test`, [`start`, `http-get://localhost:${process.env.PORT}/admin`, process.argv[1]], { stdio: `inherit` }).catch(error => { console.error(error.toString()); process.exit(error.exitCode) })'",
"cypress:run:ci": "touch .env && yarn prepare-test-server cypress:run:cmd",
"cypress:run": "if [ -f .env ]; then yarn prepare-test-server cypress:run:cmd; else echo \"\nError: Must create a test-projects/access-control/.env file.\nSee test-projects/access-control/.env.example for values\n\"; exit 1; fi",
"cypress:open": "if [ -f .env ]; then yarn prepare-test-server cypress:open:cmd; else echo \"\nError: Must create a test-projects/access-control/.env file.\nSee test-projects/access-control/.env.example for values\n\"; exit 1; fi"
Expand All @@ -35,6 +35,6 @@
"mocha-junit-reporter": "^1.21.0",
"mocha-multi-reporters": "^1.1.7",
"pino-colada": "^1.4.4",
"start-server-and-test": "^1.7.13"
"start-server-and-test": "^1.10.2"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ describe('Adding data', () => {
cy.get('#list-page-create-button').click({ force: true });

Object.keys(data).forEach(item => {
cy.get(`#${item}`).type(data[item]);
cy.get(`#${item}`).type(data[item], { force: true });
});

cy.get('#create-item-modal-submit-button').click({ force: true });
Expand Down
6 changes: 3 additions & 3 deletions test-projects/basic/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"start:debug": "node --inspect-brk -r dotenv-safe/config server.js | sed -l -e 's/:\\s*undefined\\s*,/:null,/g' | tee out.log | pino-colada",
"cypress:run:cmd": "TZ=UTC node -r dotenv-safe/config `which cypress` run",
"cypress:open:cmd": "TZ=UTC node -r dotenv-safe/config `which cypress` open",
"prepare-test-server": "cross-env NODE_ENV=test DISABLE_LOGGING=true node -r dotenv-safe/config -e 'require(`execa`)(`start-server-and-test`, [`start`, `http-get://localhost:${process.env.PORT}/admin`, process.argv[1]], { stdio: `inherit` }).catch(error => { console.error(error.toString()); process.exit(error.code) })'",
"prepare-test-server": "cross-env NODE_ENV=test DISABLE_LOGGING=true node -r dotenv-safe/config -e 'require(`execa`)(`start-server-and-test`, [`start`, `http-get://localhost:${process.env.PORT}/admin`, process.argv[1]], { stdio: `inherit` }).catch(error => { console.error(error.toString()); process.exit(error.exitCode) })'",
"cypress:run:ci": "touch .env && yarn prepare-test-server cypress:run:cmd",
"cypress:run": "if [ -f .env ]; then yarn prepare-test-server cypress:run:cmd; else echo \"\nError: Must create a test-projects/basic/.env file.\nSee test-projects/basic/.env.example for values\n\"; exit 1; fi",
"cypress:open": "if [ -f .env ]; then yarn prepare-test-server cypress:open:cmd; else echo \"\nError: Must create a test-projects/basic/.env file.\nSee test-projects/basic/.env.example for values\n\"; exit 1; fi"
Expand Down Expand Up @@ -44,6 +44,6 @@
"mocha-multi-reporters": "^1.1.7",
"moment": "^2.24.0",
"pino-colada": "^1.4.4",
"start-server-and-test": "^1.7.13"
"start-server-and-test": "^1.10.2"
}
}
}
6 changes: 3 additions & 3 deletions test-projects/client-validation/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"start": "node -r dotenv-safe/config server.js | sed -l -e 's/:\\s*undefined\\s*,/:null,/g' | tee out.log | pino-colada",
"cypress:run:cmd": "TZ=UTC node -r dotenv-safe/config `which cypress` run",
"cypress:open:cmd": "TZ=UTC node -r dotenv-safe/config `which cypress` open",
"prepare-test-server": "cross-env NODE_ENV=test DISABLE_LOGGING=true node -r dotenv-safe/config -e 'require(`execa`)(`start-server-and-test`, [`start`, `http-get://localhost:${process.env.PORT}/admin`, process.argv[1]], { stdio: `inherit` }).catch(error => { console.error(error.toString()); process.exit(error.code) })'",
"prepare-test-server": "cross-env NODE_ENV=test DISABLE_LOGGING=true node -r dotenv-safe/config -e 'require(`execa`)(`start-server-and-test`, [`start`, `http-get://localhost:${process.env.PORT}/admin`, process.argv[1]], { stdio: `inherit` }).catch(error => { console.error(error.toString()); process.exit(error.exitCode) })'",
"cypress:run:ci": "touch .env && yarn prepare-test-server cypress:run:cmd",
"cypress:run": "if [ -f .env ]; then yarn prepare-test-server cypress:run:cmd; else echo \"\nError: Must create a test-projects/client-validation/.env file.\nSee test-projects/client-validation/.env.example for values\n\"; exit 1; fi",
"cypress:open": "if [ -f .env ]; then yarn prepare-test-server cypress:open:cmd; else echo \"\nError: Must create a test-projects/client-validation/.env file.\nSee test-projects/client-validation/.env.example for values\n\"; exit 1; fi"
Expand All @@ -39,6 +39,6 @@
"mocha-multi-reporters": "^1.1.7",
"moment": "^2.24.0",
"pino-colada": "^1.4.4",
"start-server-and-test": "^1.7.13"
"start-server-and-test": "^1.10.2"
}
}
}
11 changes: 10 additions & 1 deletion test-projects/login/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,13 @@ const {
byTracking,
} = require('@keystone-alpha/list-plugins');

const defaultAccess = ({ authentication: { item } }) => !!item;

const keystone = new Keystone({
name: 'Cypress Test Project For Login',
adapter: new MongooseAdapter(),
defaultAccess: {
list: ({ authentication: { item } }) => !!item,
list: defaultAccess,
},
});

Expand All @@ -37,6 +39,13 @@ keystone.createList('User', {
isAdmin: { type: Checkbox },
},
labelResolver: item => `${item.name} <${item.email}>`,
access: {
create: defaultAccess,
read: defaultAccess,
update: defaultAccess,
delete: defaultAccess,
auth: true,
},
});

keystone.createList('Post', {
Expand Down
6 changes: 3 additions & 3 deletions test-projects/login/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"start": "node -r dotenv-safe/config server.js | sed -l -e 's/:\\s*undefined\\s*,/:null,/g' | tee out.log | pino-colada",
"cypress:run:cmd": "node -r dotenv-safe/config `which cypress` run",
"cypress:open:cmd": "node -r dotenv-safe/config `which cypress` open",
"prepare-test-server": "cross-env NODE_ENV=test DISABLE_LOGGING=true node -r dotenv-safe/config -e 'require(`execa`)(`start-server-and-test`, [`start`, `http-get://localhost:${process.env.PORT}/admin`, process.argv[1]], { stdio: `inherit` }).catch(error => { console.error(error.toString()); process.exit(error.code) })'",
"prepare-test-server": "cross-env NODE_ENV=test DISABLE_LOGGING=true node -r dotenv-safe/config -e 'require(`execa`)(`start-server-and-test`, [`start`, `http-get://localhost:${process.env.PORT}/admin`, process.argv[1]], { stdio: `inherit` }).catch(error => { console.error(error.toString()); process.exit(error.exitCode) })'",
"cypress:run:ci": "cross-env NODE_ENV=production touch .env && keystone build && yarn prepare-test-server cypress:run:cmd",
"cypress:run": "if [ -f .env ]; then yarn prepare-test-server cypress:run:cmd; else echo \"\nError: Must create a test-projects/login/.env file.\nSee test-projects/login/.env.example for values\n\"; exit 1; fi",
"cypress:open": "if [ -f .env ]; then yarn prepare-test-server cypress:open:cmd; else echo \"\nError: Must create a test-projects/login/.env file.\nSee test-projects/login/.env.example for values\n\"; exit 1; fi"
Expand All @@ -38,6 +38,6 @@
"mocha-junit-reporter": "^1.21.0",
"mocha-multi-reporters": "^1.1.7",
"pino-colada": "^1.4.4",
"start-server-and-test": "^1.7.13"
"start-server-and-test": "^1.10.2"
}
}
}
Loading

0 comments on commit b73dd35

Please sign in to comment.