Skip to content

Commit e6e6c26

Browse files
committed
feat: upgrade to Angular 6.1
1 parent 64e63f7 commit e6e6c26

File tree

8 files changed

+988
-1460
lines changed

8 files changed

+988
-1460
lines changed

.circleci/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ jobs:
7979
key: *dist_key
8080
- run:
8181
name: release
82-
command: cd dist/ngx-testing-library && npm run semantic-release || true
82+
command: npm run semantic-release || true
8383

8484
workflows:
8585
version: 2

jest.base.config.js

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ module.exports = {
22
preset: 'jest-preset-angular',
33
rootDir: '../',
44
setupTestFrameworkScriptFile: '<rootDir>/test.ts',
5+
testURL: 'http://localhost',
56
globals: {
67
'ts-jest': {
78
tsConfigFile: './tsconfig.spec.json',

package-lock.json

+930-1,306
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+30-28
Original file line numberDiff line numberDiff line change
@@ -18,41 +18,43 @@
1818
"git add"
1919
]
2020
},
21+
"release": {
22+
"pkgRoot": "dist/ngx-testing-library"
23+
},
2124
"dependencies": {
22-
"@angular/common": "^6.0.3",
23-
"@angular/core": "^6.0.3",
24-
"@angular/compiler": "^6.0.3",
25-
"@angular/animations": "^6.0.3",
26-
"@angular/forms": "^6.0.3",
27-
"@angular/http": "^6.0.3",
28-
"@angular/platform-browser": "^6.0.3",
29-
"@angular/platform-browser-dynamic": "^6.0.3",
30-
"@angular/router": "^6.0.3",
25+
"@angular/common": "^6.1.0",
26+
"@angular/core": "^6.1.0",
27+
"@angular/compiler": "^6.1.0",
28+
"@angular/animations": "^6.1.0",
29+
"@angular/forms": "^6.1.0",
30+
"@angular/http": "^6.1.0",
31+
"@angular/platform-browser": "^6.1.0",
32+
"@angular/platform-browser-dynamic": "^6.1.0",
33+
"@angular/router": "^6.1.0",
3134
"core-js": "^2.5.4",
32-
"rxjs": "^6.0.0",
35+
"rxjs": "^6.2.2",
3336
"zone.js": "^0.8.26"
3437
},
3538
"devDependencies": {
36-
"@angular-devkit/build-angular": "~0.6.8",
37-
"@angular-devkit/build-ng-packagr": "~0.6.8",
38-
"@angular/cli": "~6.0.8",
39-
"@angular/compiler-cli": "^6.0.3",
40-
"@angular/language-service": "^6.0.3",
41-
"@types/node": "~8.9.4",
42-
"codelyzer": "~4.2.1",
43-
"dom-testing-library": "^3.0.0",
39+
"@angular-devkit/build-angular": "~0.7.1",
40+
"@angular-devkit/build-ng-packagr": "~0.7.1",
41+
"@angular/cli": "~6.1.1",
42+
"@angular/compiler-cli": "^6.1.0",
43+
"@angular/language-service": "^6.1.0",
44+
"@types/node": "~10.5.4",
45+
"codelyzer": "~4.4.2",
46+
"dom-testing-library": "^3.0.2",
4447
"husky": "^0.14.3",
45-
"jest": "^23.1.0",
46-
"jest-preset-angular": "^5.2.2",
48+
"jest": "^23.4.2",
49+
"jest-preset-angular": "^5.2.3",
4750
"lint-staged": "^7.2.0",
48-
"ng-packagr": "^3.0.0-rc.2",
49-
"prettier": "^1.13.5",
50-
"protractor": "~5.3.0",
51-
"ts-node": "~5.0.1",
52-
"tsickle": ">=0.25.5",
53-
"tslib": "^1.7.1",
54-
"tslint": "~5.9.1",
55-
"typescript": "^2.7.2",
51+
"ng-packagr": "^3.0.6",
52+
"prettier": "^1.13.7",
53+
"ts-node": "~7.0.0",
54+
"tsickle": "0.32.1",
55+
"tslib": "^1.9.3",
56+
"tslint": "~5.11.0",
57+
"typescript": "^2.9.2",
5658
"semantic-release": "^15.8.1"
5759
}
5860
}

projects/ngx-testing-library/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
},
2323
"homepage": "https://github.com/timdeschryver/ngx-testing-library#readme",
2424
"peerDependencies": {
25-
"@angular/common": "^6.0.0-rc.0 || ^6.0.0",
26-
"@angular/core": "^6.0.0-rc.0 || ^6.0.0"
25+
"@angular/common": "^6.1.0",
26+
"@angular/core": "^6.1.0"
2727
},
2828
"dependencies": {
29-
"dom-testing-library": "^2.5.0"
29+
"dom-testing-library": "^3.0.2"
3030
}
3131
}

projects/ngx-testing-library/src/lib/models.ts

+3-104
Original file line numberDiff line numberDiff line change
@@ -1,113 +1,12 @@
11
import { Type } from '@angular/core';
22
import { ComponentFixture } from '@angular/core/testing';
3+
import { getQueriesForElement, FireObject } from 'dom-testing-library';
34

4-
export interface Result<T> {
5+
export interface RenderResult extends ReturnType<typeof getQueriesForElement>, FireObject {
56
container: HTMLElement;
6-
getFromTestBed: (token: any, notFoundValue?: any) => any;
77
debug: () => void;
8+
getFromTestBed: (token: any, notFoundValue?: any) => any;
89
fixture: ComponentFixture<any>;
9-
10-
// Currently this isn't perfect because the typings from dom-testing-library are for TS 2.8
11-
// dom-testing-library queroes
12-
queryByPlaceholderText: any;
13-
queryAllByPlaceholderText: any;
14-
getByPlaceholderText: any;
15-
getAllByPlaceholderText: any;
16-
queryByText: any;
17-
queryAllByText: any;
18-
getByText: any;
19-
getAllByText: any;
20-
queryByLabelText: any;
21-
queryAllByLabelText: any;
22-
getByLabelText: any;
23-
getAllByLabelText: any;
24-
queryByAltText: any;
25-
queryAllByAltText: any;
26-
getByAltText: any;
27-
getAllByAltText: any;
28-
queryByTestId: any;
29-
queryAllByTestId: any;
30-
getByTestId: any;
31-
getAllByTestId: any;
32-
queryByTitle: any;
33-
queryAllByTitle: any;
34-
getByTitle: any;
35-
getAllByTitle: any;
36-
queryByValue: any;
37-
queryAllByValue: any;
38-
getByValue: any;
39-
getAllByValue: any;
40-
41-
// dom-testing-library fireEvents
42-
copy: (element: HTMLElement, options?: {}) => boolean;
43-
cut: (element: HTMLElement, options?: {}) => boolean;
44-
paste: (element: HTMLElement, options?: {}) => boolean;
45-
compositionEnd: (element: HTMLElement, options?: {}) => boolean;
46-
compositionStart: (element: HTMLElement, options?: {}) => boolean;
47-
compositionUpdate: (element: HTMLElement, options?: {}) => boolean;
48-
keyDown: (element: HTMLElement, options?: {}) => boolean;
49-
keyPress: (element: HTMLElement, options?: {}) => boolean;
50-
keyUp: (element: HTMLElement, options?: {}) => boolean;
51-
focus: (element: HTMLElement, options?: {}) => boolean;
52-
blur: (element: HTMLElement, options?: {}) => boolean;
53-
change: (element: HTMLElement, options?: {}) => boolean;
54-
input: (element: HTMLElement, options?: {}) => boolean;
55-
invalid: (element: HTMLElement, options?: {}) => boolean;
56-
submit: (element: HTMLElement, options?: {}) => boolean;
57-
click: (element: HTMLElement, options?: {}) => boolean;
58-
contextMenu: (element: HTMLElement, options?: {}) => boolean;
59-
dblClick: (element: HTMLElement, options?: {}) => boolean;
60-
drag: (element: HTMLElement, options?: {}) => boolean;
61-
dragEnd: (element: HTMLElement, options?: {}) => boolean;
62-
dragEnter: (element: HTMLElement, options?: {}) => boolean;
63-
dragExit: (element: HTMLElement, options?: {}) => boolean;
64-
dragLeave: (element: HTMLElement, options?: {}) => boolean;
65-
dragOver: (element: HTMLElement, options?: {}) => boolean;
66-
dragStart: (element: HTMLElement, options?: {}) => boolean;
67-
drop: (element: HTMLElement, options?: {}) => boolean;
68-
mouseDown: (element: HTMLElement, options?: {}) => boolean;
69-
mouseEnter: (element: HTMLElement, options?: {}) => boolean;
70-
mouseLeave: (element: HTMLElement, options?: {}) => boolean;
71-
mouseMove: (element: HTMLElement, options?: {}) => boolean;
72-
mouseOut: (element: HTMLElement, options?: {}) => boolean;
73-
mouseOver: (element: HTMLElement, options?: {}) => boolean;
74-
mouseUp: (element: HTMLElement, options?: {}) => boolean;
75-
select: (element: HTMLElement, options?: {}) => boolean;
76-
touchCancel: (element: HTMLElement, options?: {}) => boolean;
77-
touchEnd: (element: HTMLElement, options?: {}) => boolean;
78-
touchMove: (element: HTMLElement, options?: {}) => boolean;
79-
touchStart: (element: HTMLElement, options?: {}) => boolean;
80-
scroll: (element: HTMLElement, options?: {}) => boolean;
81-
wheel: (element: HTMLElement, options?: {}) => boolean;
82-
abort: (element: HTMLElement, options?: {}) => boolean;
83-
canPlay: (element: HTMLElement, options?: {}) => boolean;
84-
canPlayThrough: (element: HTMLElement, options?: {}) => boolean;
85-
durationChange: (element: HTMLElement, options?: {}) => boolean;
86-
emptied: (element: HTMLElement, options?: {}) => boolean;
87-
encrypted: (element: HTMLElement, options?: {}) => boolean;
88-
ended: (element: HTMLElement, options?: {}) => boolean;
89-
loadedData: (element: HTMLElement, options?: {}) => boolean;
90-
loadedMetadata: (element: HTMLElement, options?: {}) => boolean;
91-
loadStart: (element: HTMLElement, options?: {}) => boolean;
92-
pause: (element: HTMLElement, options?: {}) => boolean;
93-
play: (element: HTMLElement, options?: {}) => boolean;
94-
playing: (element: HTMLElement, options?: {}) => boolean;
95-
progress: (element: HTMLElement, options?: {}) => boolean;
96-
rateChange: (element: HTMLElement, options?: {}) => boolean;
97-
seeked: (element: HTMLElement, options?: {}) => boolean;
98-
seeking: (element: HTMLElement, options?: {}) => boolean;
99-
stalled: (element: HTMLElement, options?: {}) => boolean;
100-
suspend: (element: HTMLElement, options?: {}) => boolean;
101-
timeUpdate: (element: HTMLElement, options?: {}) => boolean;
102-
volumeChange: (element: HTMLElement, options?: {}) => boolean;
103-
waiting: (element: HTMLElement, options?: {}) => boolean;
104-
load: (element: HTMLElement, options?: {}) => boolean;
105-
error: (element: HTMLElement, options?: {}) => boolean;
106-
animationStart: (element: HTMLElement, options?: {}) => boolean;
107-
animationEnd: (element: HTMLElement, options?: {}) => boolean;
108-
animationIteration: (element: HTMLElement, options?: {}) => boolean;
109-
transitionEnd: (element: HTMLElement, options?: {}) => boolean;
110-
doubleClick: (element: HTMLElement, options?: {}) => boolean;
11110
}
11211

11312
export interface Options {

projects/ngx-testing-library/src/lib/ngx-testing-library.ts

+19-17
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
import { Component, NgModule, Type } from '@angular/core';
2-
import { TestBed, ComponentFixture } from '@angular/core/testing';
3-
import { By } from '@angular/platform-browser';
4-
import { getQueriesForElement, prettyDOM, fireEvent } from 'dom-testing-library';
1+
import { Component } from '@angular/core';
2+
import { TestBed } from '@angular/core/testing';
3+
import { getQueriesForElement, prettyDOM, fireEvent, FireFunction, FireObject } from 'dom-testing-library';
54

6-
import { Options, Result, ComponentInput } from './models';
5+
import { Options, RenderResult, ComponentInput } from './models';
76

87
@Component({ selector: 'test-component', template: '' })
98
class TestComponent {}
109

11-
export async function createComponent<T>(template: string, options: Options): Promise<Result<T>>;
12-
export async function createComponent<T>(component: ComponentInput<T>, options: Options): Promise<Result<T>>;
10+
export async function createComponent<T>(template: string, options: Options): Promise<RenderResult>;
11+
export async function createComponent<T>(component: ComponentInput<T>, options: Options): Promise<RenderResult>;
1312
export async function createComponent<T>(
1413
templateOrComponent: string | ComponentInput<T>,
1514
{ detectChanges = true, declarations = [], providers = [], imports = [], schemas = [] }: Options,
16-
): Promise<Result<T>> {
15+
): Promise<RenderResult> {
1716
const isTemplate = typeof templateOrComponent === 'string';
1817
const testComponent = isTemplate ? [TestComponent] : [];
1918

@@ -34,21 +33,24 @@ export async function createComponent<T>(
3433
fixture.detectChanges();
3534
}
3635

37-
const eventsWithChangeDetection = Object.keys(fireEvent).reduce((events, key) => {
38-
events[key] = (element: HTMLElement, options?: {}) => {
39-
const result = fireEvent[key](element, options);
40-
fixture.detectChanges();
41-
return result;
42-
};
43-
return events;
44-
}, {});
36+
const eventsWithDetectChanges = Object.keys(fireEvent).reduce(
37+
(events, key) => {
38+
events[key] = (element: HTMLElement, options?: {}) => {
39+
const result = fireEvent[key](element, options);
40+
fixture.detectChanges();
41+
return result;
42+
};
43+
return events;
44+
},
45+
{} as FireObject,
46+
);
4547

4648
return {
4749
fixture,
4850
container: fixture.nativeElement,
4951
getFromTestBed: TestBed.get,
5052
debug: () => console.log(prettyDOM(fixture.nativeElement)),
51-
...eventsWithChangeDetection,
53+
...eventsWithDetectChanges,
5254
...getQueriesForElement(fixture.nativeElement),
5355
};
5456
}

src/app/__snapshots__/app.component.spec.ts.snap

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
exports[`matches snapshot 1`] = `
44
<div
55
id="root0"
6-
ng-version="6.0.4"
6+
ng-version="6.1.0"
77
>
88
<app-root>
99
<div

0 commit comments

Comments
 (0)