-
Notifications
You must be signed in to change notification settings - Fork 0
/
different-counters-spec.js
70 lines (63 loc) · 1.6 KB
/
different-counters-spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// "h" while unused right now will be used when the
// loader changes JSX syntax into "h" calls
// eslint-disable-next-line no-unused-vars
import { h } from 'hyperapp'
import { mount } from 'cypress-hyperapp-unit-test'
import { Counter } from '../../src/components/counter'
// instantiate Counter inside each test, not in beforeEach
/* eslint-env mocha */
describe('Counter variations', () => {
it('calls onclick', () => {
const label = 'calls onclick'
const onclick = cy.spy()
const component = <Counter label={label} onclick={onclick} />
mount({}, {}, () => component)
cy
.contains(label)
.click()
.then(() => {
expect(onclick).to.have.been.calledOnce
})
})
it('can be inside another div', () => {
const label = 'calls onclick'
const onclick = cy.spy()
const component = (
<div>
<Counter label={label} onclick={onclick} />
</div>
)
mount({}, {}, () => component)
cy
.contains(label)
.click()
.then(() => {
expect(onclick).to.have.been.calledOnce
})
})
it('works without label', () => {
const onclick = cy.spy()
const component = (
<div>
<Counter onclick={onclick} />
</div>
)
mount({}, {}, () => component)
cy
.get('button')
.click()
.then(() => {
expect(onclick).to.have.been.calledOnce
})
})
it('works even without onclick', () => {
const label = 'no click'
const component = (
<div>
<Counter label={label} />
</div>
)
mount({}, {}, () => component)
cy.contains(label)
})
})