Commit Graph

26 Commits

Author SHA1 Message Date
Gleb Bahmutov
ee3eb4a2dd add cy.stub type for window alert and confirm (#2008)
* add cy.stub type for window alert and confirm

* jsdoc for cy.contains

* add jsdoc for viewport width and height

* jsdoc for prev command

* add jsdoc for cy.wait

* add jsdoc for clearLocalStorage

* jsdoc for wrap

* add jsdoc for screenshot with filename

* add jsdoc for clock

* add jsdoc example to cy.its

* complete jsdoc for siblings

* jsdoc for route overrides
2018-06-25 16:42:51 -07:00
Brian Mann
abfb594872 add browser.isHeadless + browser.isHeaded (#1975)
* add isHeadless + isHeaded to browser

- move around logic so that instead of launching a browser by name, its
passed the entire browser object
- simplify logic for passing around options.headed

* launch the browser with an object, not browser name

* update browser types

* fix failing tests
2018-06-18 03:15:19 -04:00
Chris Breiding
0e2246785c Screenshot fixes/enhancements (#1858)
* create directory path from screenshot name

* fix screenshot e2e specs

* ensure unique file paths for non-named screenshots

* append failure screenshots with ‘— failure’

* fix snapshot differences caused by slow computer

* fix driver specs

* fix minutes/seconds e2e snapshot replacer

* fix minutes/seconds e2e snapshot replacer again

* fix e2e specs failing due to screenshot path differences

* more snapshot fixes

* more snapshot fixes

* more snapshot fixes

* fix reporter showing wrong path for nested spec when no tests

* nest non-named screenshots in path based on spec path

* fix specs

* fix snapshot

* test that server + project state is reset between specs in cypress run mode

* rename spec.path to spec.relative. pass around the spec object instead of a string path

- store state on the project for current spec + browsers
- simplify how desktop gui passes around spec object
- fixes #1921
- make all specs a real spec model
- rename ‘Run all tests’ to ‘Run all specs’

* remove pretty-error dependency

* fixes #1919 and #1918, add Cypress.spec and Cypress.browser

* fixes all the failing tests

* fixes failing tests

* types: Cypress.spec

* add types for Cypress.browser

* fixes more failing tests

* enable null for spec props when running "All Specs"

* read comments per PR

https://github.com/cypress-io/cypress/pull/1858#issuecomment-396121876

* fixes failing tests

* fix linting

* fix types assertion

* fixes failing tests

* fixes failing tests, update from -- failed to (failed)

* ugh regexp

* fixes more tests

* add name, specName, and testFailure to the afterScreenshot props

* fix failing tests. append (failed) for failed screenshots

- use { testFailure: true } to indicate a failing test screenshot for
use in props
2018-06-17 20:01:27 -04:00
Gleb Bahmutov
360b58b27d Ts server yields 1907 (#1911)
* types: cy.server yields default server options, close #1907

* add examples to a few TS commands
2018-06-08 11:47:24 -04:00
Gleb Bahmutov
3241c6e229 types for auth in cy.visit, close #1897 (#1908) 2018-06-08 10:11:36 -04:00
Gleb Bahmutov
ff58367838 Ts definition for clear local storage 1899 (#1903)
* types: clearLocalStorage yields localStorage, close #1899

* types: minimatch is a function, close #1902
2018-06-07 20:10:45 -04:00
Gleb Bahmutov
39b31fd771 Route typescript fix 1831 (#1874)
* types: add object to routes, close #1831

* types: remove Response type from cy.route, it belongs only in cy.request

* add example to cy.route doc

* types: add PATCH method, same as pull request #1778
2018-06-05 15:33:24 -04:00
Kevin Heard
5330ccd476 fix typo in comments (#1791) 2018-06-05 15:20:59 -04:00
Brian Mann
d92d51a8eb rename videoRecording -> video (#1804) 2018-05-29 17:23:01 -04:00
Brian Mann
4053596a88 validate cli + env var config, add breaking config changes (#1784)
* fixes #1783 validate configuration values after they're set from CLI + Env Vars

* fixes #1754 remove screenshotOnHeadlessFailure and rename trashAssetsBeforeHeadlessRuns

* derp copypasta fail
2018-05-28 01:27:54 -04:00
Chris Breiding
7db71497a4 Update typescript types for screenshots (#1757)
* update typescript types for screenshots

* fullpage -> fullPage
2018-05-22 20:15:50 -04:00
Chris Breiding
118297a30e Add screenshot configuration API (#1504)
* server: handle undefined values from plugins

* server: have plugins process inherit stdio

so console.logs and such from plugins file come through

* add cy.task()

* server: fix config spec

* driver: fix task spec

* server: change ‘task’ to ‘task:requested’

* server: have ‘task’ event take object literal instead of function

* server: document how to run individual integration and e2e tests

* fix cy.task specs

* server: fix task e2e spec

* add Cypress.Screenshot.defaults, implement most options

* accept new options in cy.screenshot()

* add jsconfig files for vscode’s sake

* only open test when capturing runner

* use dom to hide runner ui instead of react

* screenshot capture “all” -> “runner”

* fix specs

* refactor pausing timers

* implement before/after screenshot callbacks

* fix lint error

* enforce order of captures

* fix spec

* refactor app.jsx screenshot handling

* wait two ticks for repaint to occur before/after screenshots

* use special pixels to ensure cypress ui is hidden when taking app screenshot

* crop non-app from app screenshots

* add e2e test for pathological case where app has pixels that match rendering helper pixels

* fix screenshot app capture snapshot

* add unit tests for lib/automation/screenshot

* use blackout in app capture spec to ensure it renders

* fix task e2e spec

* fix driver screenshot spec

* use Promise.map {concurrency: 1} instead of utils.runSerially

* normalize minute durations in e2e test snapshots

* increase timeout for screenshot app capture e2e test

* correct app capture snapshot

* always run screenshot afterAll step

* call timer functions with context set

* simplify screenshot capture option to just be a string

* clone screenshot config to prevent mutation

* always capture runner w/o blackout on failures

* refactor and add more tests for screenshot events

* default to app capture

* try/catch screenshot dom modifications in case the iframe is cross-origin

* don’t blackout on runner captures

* update e2e test with latest screenshot api

* fix screenshots e2e test now that app capture is default

* refactor server/screenshots

* implement fullPage screenshot capture

* use capture: ‘fullpage’ instead of fullPage: true

* remove unnecessary try/catches

* add e2e tests for fullpage captures

* fix unit tests

* refactor full page screenshots

* rename/refactor from fullpage to multipart

* implement element captures

* split up screenshot e2e tests

* expose clip as screenshot option

* take devicePixelRatio into account for screenshot cropping

* some formatting and fun with retina offscreen images

* determine device pixel ratio server-side

window.devicePixelRatio can’t be trusted, because in headless electron it returns 1 even on a retina screen. Instead, we determine it server-side by dividing the screenshot resolution by the viewport size.

* refactor screenshot buffer handling

* add support for cy.within

* make fullpage the default capture

* only allow one element to be screenshotted

* coerce capture into ‘app’ for element captures

* fix specs broken by fixture change

* make top-left screenshot helper pixel less noticeable

* add some code comments

* refactor runner screenshots handling

* clean up before/after screenshot code

* ensure cleanup if test restarts in middle of screenshot

* skip pixel-checking on failure screenshots to reduce latency

* add types for new screenshot api

* fix typescript linting issues

* @sandbox -> sinon

* fix screenshots spec

* fix e2e spec

* fix specs

* fix specs
2018-05-16 15:00:59 -04:00
Chris Breiding
d1fe365eca Add cy.task() command (#1422)
* server: handle undefined values from plugins

* server: have plugins process inherit stdio

so console.logs and such from plugins file come through

* add cy.task()

* server: fix config spec

* driver: fix task spec

* server: change ‘task’ to ‘task:requested’

* server: have ‘task’ event take object literal instead of function

* server: document how to run individual integration and e2e tests

* fix cy.task specs

* server: fix task e2e spec

* ensure stack trace comes through for task error

* don’t show stack for ‘known’ user errors

* add types for cy.task

* @sandbox -> sinon

* add e2e spec for task returning undefined

* update readme re: e2e —spec

* timedout -> timedOut

* new Promise + setTimeout -> Promise.delay

* improve cy.task() error messages

* fix specs
2018-05-15 20:49:20 -04:00
Gleb Bahmutov
bf4f6b9c75 fix: typescript definition for scrollIntoView, close #1606 (#1609)
* fix: fix the typescript definition for scrollIntoView, close #1606

* separate scrollTo options from scrollIntoView
2018-05-15 12:45:20 -04:00
Dumitrana Alinus
95f86236c4 Update index.d.ts (#1622)
Use local types for blob, bluebird, minimatch
2018-05-12 10:15:50 -04:00
PINGUET Julien
a88c04b3bd Add .filter(Function) typing (#1670)
* Add .filter(Function) typing

* Add .filter(Function) typing
2018-05-11 22:10:20 -04:00
Nicholas Boll
039192b1cd chore(types): Add initial Cypress.log API (#1289) 2018-04-15 01:56:59 -04:00
Nicholas Boll
075a3a0757 feat: Add type definitions for Cypress.off (#1514)
* feat: Add Cypress.off type definitions

* Added .off types and tests
2018-04-15 01:53:04 -04:00
Nicholas Boll
88f534bf08 fix: Incorrect type for 'then' returning a wrapped 'undefined' (#1220) 2018-02-04 14:45:42 -05:00
Nicholas Boll
ae8b147e28 feat: Add TypeScript support for Cypress action events (#1187)
* feat: Add support for Cypress action events

* fix: Fixed documentation URL for actions

* fix dtslint test failures
2018-01-16 10:59:00 -05:00
Nicholas Boll
a51ea1f783 doc: should/and chainer autocomplete (#1132)
* fix: within type definition

* doc: should/and chainer autocomplete

* chore: Updated example documentation to match #1117
2018-01-09 17:05:55 -05:00
Gleb Bahmutov
aa0a41caf5 Doc ts better 1117 (#1122)
* ts: document common assertions, cy and Cypress

* document more common methods

* more comments for #1117

* todomvc examplehas good intellisense, close #1117
2017-12-24 18:25:06 -05:00
Nicholas Boll
233ddf8d7b fix: Unwrap subject returned by cy.then (#1085)
* fix: Unwrap subject returned by cy.then

* update to use Cypress.Promise
2017-12-19 11:15:05 -05:00
Nicholas Boll
a06ca4a19b chore: Add extra chainer types for auto-complete (#1059) 2017-12-14 16:47:39 -05:00
Nicholas Boll
5d761630f2 chore: Update type definitions to match API more closely (#1048)
* chore: Fill out Cypress API types

* chore: Convert Chainable into a Generic with a subject

* chore: undefined return of then keeps Subject

* fix: Remove incorrect comment

* chore: Add element keys to all selector methods

* chore: Remove generic from cy.not - it doesn't make sense

* chore: Add ChainableArray for array Subjects

* chore: Add ChainerArray to thread types through

* chore: Remove ChainableArray interface

* chore: Fix stub/spy types - returns Agent interface
2017-12-11 21:45:39 -05:00
Nicholas Boll
6db7a83125 chore: Add dtslint and Cypress static types (#1044)
* chore: Add dtslint and Cypress static types

* chore: Fix types location for cli build

* chore: Removed api from api command paths

* chore: Remove semicolons from type definitions

* chore: Removed semicolons not caught by tslint

* chore: Add type tests
2017-12-08 16:41:34 -05:00