expect-puppeteer
Advanced tools
Comparing version 1.1.1 to 2.0.0
@@ -6,2 +6,18 @@ # Change Log | ||
<a name="2.0.0"></a> | ||
# [2.0.0](https://github.com/smooth-code/jest-puppeteer/tree/master/packages/puppeteer-expect/compare/v1.1.1...v2.0.0) (2018-03-05) | ||
### Features | ||
* simplify expect usage ([e0fc3d1](https://github.com/smooth-code/jest-puppeteer/tree/master/packages/puppeteer-expect/commit/e0fc3d1)) | ||
### BREAKING CHANGES | ||
* `expectPage()` is replaced by `expect(page)` | ||
<a name="1.1.1"></a> | ||
@@ -8,0 +24,0 @@ ## [1.1.1](https://github.com/smooth-code/jest-puppeteer/tree/master/packages/puppeteer-expect/compare/v1.1.0...v1.1.1) (2018-03-04) |
@@ -66,3 +66,3 @@ 'use strict'; | ||
function expectPage(page = global.page) { | ||
function expectPage(page) { | ||
const expectation = { | ||
@@ -85,5 +85,15 @@ not: {} | ||
if (typeof global.expect !== 'undefined') { | ||
global.expectPage = expectPage; | ||
const isPuppeteerPage = object => Boolean(object && object.$ && object.$$ && object.close && object.click); | ||
const originalExpect = global.expect; | ||
global.expect = (actual, ...args) => { | ||
if (isPuppeteerPage(actual)) { | ||
return expectPage(actual); | ||
} | ||
return originalExpect(actual, ...args); | ||
}; | ||
Object.keys(originalExpect).forEach(prop => { | ||
global.expect[prop] = originalExpect[prop]; | ||
}); | ||
} | ||
module.exports = expectPage; |
{ | ||
"name": "expect-puppeteer", | ||
"description": "Assertion toolkit for Puppeteer.", | ||
"version": "1.1.1", | ||
"version": "2.0.0", | ||
"main": "lib/index.js", | ||
@@ -6,0 +6,0 @@ "repository": "https://github.com/smooth-code/jest-puppeteer/tree/master/packages/puppeteer-expect", |
@@ -15,4 +15,6 @@ # expect-puppeteer | ||
Without Jest: | ||
```js | ||
import expectPage from 'expect-puppeteer' | ||
import expect from 'expect-puppeteer' | ||
;(async () => { | ||
@@ -22,3 +24,3 @@ const browser = await puppeteer.launch() | ||
await page.goto('https://google.com') | ||
await expectPage(page).toMatch('google') | ||
await expect(page).toMatch('google') | ||
await browser.close() | ||
@@ -28,2 +30,12 @@ })() | ||
## Use with Jest | ||
To use with Jest, just modify your configuration: | ||
```json | ||
{ | ||
"setupTestFrameworkScriptFile": "expect-puppeteer" | ||
} | ||
``` | ||
## API | ||
@@ -35,11 +47,11 @@ | ||
* [toClick](#expectpagepagetoclickselector-options) | ||
* [toDisplayDialog](#expectpagepagetodisplaydialogblock) | ||
* [toFill](#expectpagepagetofillselector-value-options) | ||
* [toFillForm](#expectpagepagetofillformselector-values-options) | ||
* [toMatch](#expectpagepagetomatchtext) | ||
* [toSelect](#expectpagepagetoselectselector-valueortext) | ||
* [toUploadFile](#expectpagepagetouploadfileselector-filepath) | ||
* [toClick](#expectpagetoclickselector-options) | ||
* [toDisplayDialog](#expectpagetodisplaydialogblock) | ||
* [toFill](#expectpagetofillselector-value-options) | ||
* [toFillForm](#expectpagetofillformselector-values-options) | ||
* [toMatch](#expectpagetomatchtext) | ||
* [toSelect](#expectpagetoselectselector-valueortext) | ||
* [toUploadFile](#expectpagetouploadfileselector-filepath) | ||
### expectPage(page).toClick(selector[, options]) | ||
### expect(page).toClick(selector[, options]) | ||
@@ -51,6 +63,6 @@ * `selector` <[string]> A [selector] to click on | ||
```js | ||
await expectPage(page).toClick('button', { text: 'Home' }) | ||
await expect(page).toClick('button', { text: 'Home' }) | ||
``` | ||
### expectPage(page).toDisplayDialog(block) | ||
### expect(page).toDisplayDialog(block) | ||
@@ -60,8 +72,8 @@ * `block` <[function]> A [function] that should trigger a dialog | ||
```js | ||
await expectPage(page).toDisplayDialog(async () => { | ||
await expectPage(page).toClick('button', { text: 'Show dialog' }) | ||
await expect(page).toDisplayDialog(async () => { | ||
await expect(page).toClick('button', { text: 'Show dialog' }) | ||
}) | ||
``` | ||
### expectPage(page).toFill(selector, value[, options]) | ||
### expect(page).toFill(selector, value[, options]) | ||
@@ -74,6 +86,6 @@ * `selector` <[string]> A [selector] to match field | ||
```js | ||
await expectPage(page).toFill('input[name="firstName"]', 'James') | ||
await expect(page).toFill('input[name="firstName"]', 'James') | ||
``` | ||
### expectPage(page).toFillForm(selector, values[, options]) | ||
### expect(page).toFillForm(selector, values[, options]) | ||
@@ -86,3 +98,3 @@ * `selector` <[string]> A [selector] to match form | ||
```js | ||
await expectPage(page).toFillForm('form[name="myForm"]', { | ||
await expect(page).toFillForm('form[name="myForm"]', { | ||
firstName: 'James', | ||
@@ -93,3 +105,3 @@ lastName: 'Bond', | ||
### expectPage(page).toMatch(text) | ||
### expect(page).toMatch(text) | ||
@@ -101,6 +113,6 @@ * `text` <[string]> A text to match in page | ||
```js | ||
await expectPage(page).toMatch('Lorem ipsum') | ||
await expect(page).toMatch('Lorem ipsum') | ||
``` | ||
### expectPage(page).toSelect(selector, valueOrText) | ||
### expect(page).toSelect(selector, valueOrText) | ||
@@ -111,6 +123,6 @@ * `selector` <[string]> A [selector] to match select [element] | ||
```js | ||
await expectPage(page).toSelect('select[name="choices"]', 'Choice 1') | ||
await expect(page).toSelect('select[name="choices"]', 'Choice 1') | ||
``` | ||
### expectPage(page).toUploadFile(selector, filePath) | ||
### expect(page).toUploadFile(selector, filePath) | ||
@@ -123,3 +135,3 @@ * `selector` <[string]> A [selector] to match input [element] | ||
await expectPage(page).toUploadFile( | ||
await expect(page).toUploadFile( | ||
'input[type="file"]', | ||
@@ -126,0 +138,0 @@ path.join(__dirname, 'file.txt'), |
13486
161
151