From ac6715c0d18ca00e43c009d0aedeeb48ffdd035b Mon Sep 17 00:00:00 2001 From: Gleb Bahmutov Date: Sat, 9 Dec 2017 23:02:38 -0500 Subject: [PATCH] add readme --- README.md | 75 +++++++++++++++++++++++++++++++ img/snapshot-mismatch.png | Bin 0 -> 85793 bytes package.json | 6 ++- src/add-initial-snapshot-file.js | 25 +++++++++++ src/index.js | 6 +-- src/utils.js | 3 ++ 6 files changed, 111 insertions(+), 4 deletions(-) create mode 100644 img/snapshot-mismatch.png create mode 100644 src/add-initial-snapshot-file.js create mode 100644 src/utils.js diff --git a/README.md b/README.md index 518d27d..44e4e39 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,81 @@ npm install --save-dev @cypress/snapshot ## Use +After installing, add the following to your `cypress/support/commands.js` file + +```js +require('@cypress/snapshot')() +``` + +This registers a new command to create new snapshot or compare value to old snapshot + +```js +describe('my tests', () => { + it('works', () => { + cy.log('first snapshot') + cy.wrap({ foo: 42 }).snapshot() + cy.log('second snapshot') + cy.wrap({ bar: 101 }).snapshot() + }) +}) + +describe('focused input field', () => { + it('is empty and then typed into', () => { + cy.visit('http://todomvc.com/examples/react/') + cy + .focused() + .snapshot('initial') + .type('eat healthy breakfast') + .snapshot('after typing') + }) +}) +``` + +The snapshot object can be found in file `snapshots.js`. In the above case it would look something like this + +```js +module.exports = { + "focused input field": { + "is empty and then typed into": { + "initial": { + "tagName": "input", + "attributes": { + "class": "new-todo", + "placeholder": "What needs to be done?", + "value": "" + } + }, + "after typing": { + "tagName": "input", + "attributes": { + "class": "new-todo", + "placeholder": "What needs to be done?", + "value": "eat healthy breakfast" + } + } + } + }, + "my tests": { + "works": { + "1": { + "foo": 42 + }, + "2": { + "bar": 101 + } + } + } +} +``` + +If you change the site values, the saved snapshot will no longer match, throwing an error + +![Snapshot mismatch](img/snapshot-mismatch.png) + +## Debugging + +To debug this module run with environment variable `DEBUG=@cypress/snapshot` + ### Small print Author: Gleb Bahmutov <gleb@cypress.io> © 2017 diff --git a/img/snapshot-mismatch.png b/img/snapshot-mismatch.png new file mode 100644 index 0000000000000000000000000000000000000000..2c5acce5644d1e37c8fec2863087ab6e4b735fc8 GIT binary patch literal 85793 zcmeFZ^QV~f>wi_==^)ncm4gyP+%Es>$`NAps z**gI&XaoTqf4c@At{N&e*&FH_I2~0~XyA8$9pR!21l-6-+hQ%j^-oxQldkK|l#6pW zn|&OH_tpj*ZY(fwW=efpXyuSSO!<@EP&fI-hQ_p!pTU6crKf_X6Vy`e_4M9&Fkj!- z*3}~Kr>K=iv|SrMxZ~>6GepC~U?E$futonwKf;8u{1hx5fdrF^y@PJBj!bb$*Op5r z3V|V0_8Qew68DnTn^O6Ljot1wg%86V*^l=NHU%0m*teO{%#I@9pO2u{0JE|Wakd

6gagSPc7q^RYut9U3 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 R&JD~@Nlr}`B>gJre*jKNwxs|7 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 7e8964a..ea8827d 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "node": ">=6" }, "files": [ + "img", "src/*.js", "!src/*-spec.js" ], @@ -61,13 +62,15 @@ "size": "t=\"$(npm pack .)\"; wc -c \"${t}\"; tar tvf \"${t}\"; rm \"${t}\";", "test": "npm run unit", "unit": "mocha src/*-spec.js", - "unused-deps": "dependency-check --unused --no-dev ." + "unused-deps": "dependency-check --unused --no-dev . --entry src/add-initial-snapshot-file.js", + "postinstall": "node src/add-initial-snapshot-file.js" }, "release": { "analyzeCommits": "simple-commit-message" }, "devDependencies": { "ban-sensitive-files": "1.9.2", + "debug": "3.1.0", "dependency-check": "2.9.1", "deps-ok": "1.2.1", "eslint": "4.13.0", @@ -80,6 +83,7 @@ }, "dependencies": { "@wildpeaks/snapshot-dom": "1.2.1", + "am-i-a-dependency": "1.1.2", "check-more-types": "2.24.0", "its-name": "1.0.0", "lazy-ass": "1.6.0", diff --git a/src/add-initial-snapshot-file.js b/src/add-initial-snapshot-file.js new file mode 100644 index 0000000..f637dcf --- /dev/null +++ b/src/add-initial-snapshot-file.js @@ -0,0 +1,25 @@ +const debug = require('debug')('@cypress/snapshot') +const fs = require('fs') +const path = require('path') +const utils = require('./utils') +const amDependency = require('am-i-a-dependency')() + +if (amDependency) { + // yes, do something interesting + // someone is executing "npm install foo" + debug('post install - in folder', process.cwd()) + // we are in /node_modules/@cypress/snapshot + // but want to be simply in folder + const ownerFolder = path.normalize(path.join(process.cwd(), '..', '..', '..')) + const filename = path.join(ownerFolder, utils.SNAPSHOT_FILE_NAME) + + if (!fs.existsSync(filename)) { + // save initial empty snapshot object + debug('writing initial file', filename) + fs.writeFileSync(filename, '{}\n') + } else { + debug('file %s already exists', filename) + } +} else { + debug('not a dependency install') +} diff --git a/src/index.js b/src/index.js index 5c53ed4..4dd46f8 100644 --- a/src/index.js +++ b/src/index.js @@ -14,6 +14,8 @@ function registerCypressSnapshot () { la(is.fn(global.after), 'missing global after function') la(is.object(global.Cypress), 'missing Cypress object') + console.log('registering @cypress/snapshot') + let storeSnapshot // for each full test name, keeps number of snapshots @@ -38,10 +40,8 @@ function registerCypressSnapshot () { function evaluateLoadedSnapShots (js) { la(is.string(js), 'expected JavaScript snapshot source', js) console.log('read snapshots.js file') - console.log(js) const store = eval(js) || {} - console.log('store') - console.log(store) + console.log('have %d snapshot(s)', Object.keys(store).length) storeSnapshot = initStore(store) } diff --git a/src/utils.js b/src/utils.js new file mode 100644 index 0000000..c61eb18 --- /dev/null +++ b/src/utils.js @@ -0,0 +1,3 @@ +module.exports = { + SNAPSHOT_FILE_NAME: 'snapshots.js' +}