1 | import { StageComponent, ComponentTester } from '../src/component-tester';
|
2 | import { bootstrap } from 'aurelia-bootstrapper';
|
3 |
|
4 | describe('ComponentTester', () => {
|
5 | let component: ComponentTester;
|
6 |
|
7 | beforeEach(() => {
|
8 | component = StageComponent
|
9 | .withResources('dist/test/test/resources/my-component')
|
10 | .inView(`<div>
|
11 | <div class="component-tester-spec">
|
12 | <my-component first-name.bind="firstName"></my-component>
|
13 | </div>
|
14 | <div class="component-tester-spec">
|
15 | Number two
|
16 | </div>
|
17 | </div>`)
|
18 | .boundTo({ firstName: 'Bob' });
|
19 | });
|
20 |
|
21 | it('should wait for a child element', (done) => {
|
22 | component.create(bootstrap)
|
23 | .then(() => {
|
24 | return component.waitForElement('my-component');
|
25 | })
|
26 | .then((element) => {
|
27 | expect(element.nodeName.toLowerCase()).toEqual('my-component');
|
28 | done();
|
29 | })
|
30 | .catch(error => {
|
31 | fail(error);
|
32 | done();
|
33 | });
|
34 | });
|
35 |
|
36 | it('should wait for multiple child elements', (done) => {
|
37 | component.create(bootstrap)
|
38 | .then(() => {
|
39 | return component.waitForElements('.component-tester-spec');
|
40 | })
|
41 | .then((elements) => {
|
42 | expect(elements.length).toBe(2);
|
43 | done();
|
44 | })
|
45 | .catch(error => {
|
46 | fail(error);
|
47 | done();
|
48 | });
|
49 | });
|
50 |
|
51 | afterEach(() => {
|
52 | component.dispose();
|
53 | });
|
54 | });
|