Skip to content

Commit 21ebd7f

Browse files
authored
Merge pull request #77 from dunglas/fix-tests
Fix tests
2 parents 5b242a4 + 555226c commit 21ebd7f

File tree

6 files changed

+1564
-1275
lines changed

6 files changed

+1564
-1275
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626
"babel-preset-stage-0": "^6.22.0",
2727
"eslint": "^3.18.0",
2828
"eslint-plugin-import": "^2.2.0",
29-
"jest": "^19.0.2",
29+
"jest": "^23",
3030
"tmp": "^0.0.31"
3131
},
3232
"dependencies": {
33-
"@api-platform/api-doc-parser": "^0.2",
33+
"@api-platform/api-doc-parser": "^0.4",
3434
"babel-runtime": "^6.23.0",
3535
"chalk": "^2.1.0",
3636
"commander": "^2.9.0",

src/generators/AdminOnRestGenerator.test.js

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import fs from 'fs';
55
import tmp from 'tmp';
66
import AdminOnRestGenerator from './AdminOnRestGenerator';
77

8-
98
test('Generate a Admin On Rest app', () => {
109
const generator = new AdminOnRestGenerator({hydraPrefix: 'hydra:', templateDirectory: `${__dirname}/../../templates`});
1110
const tmpobj = tmp.dirSync({unsafeCleanup: true});
@@ -18,8 +17,8 @@ test('Generate a Admin On Rest app', () => {
1817
description: 'An URL'
1918
})];
2019
const resource = new Resource('abc', 'http://example.com/foos', {
21-
id: 'foo',
22-
title: 'Foo',
20+
id: 'abc',
21+
title: 'abc',
2322
readableFields: fields,
2423
writableFields: fields
2524
});
@@ -30,15 +29,19 @@ test('Generate a Admin On Rest app', () => {
3029
});
3130
generator.generate(api, resource, tmpobj.name);
3231

33-
expect(fs.existsSync(tmpobj.name+'/config/_entrypoint.js'), true);
34-
35-
expect(fs.existsSync(tmpobj.name+'/components/abc.js'), true);
36-
37-
expect(fs.existsSync(tmpobj.name+'/config/abc.js'), true);
38-
39-
expect(fs.existsSync(tmpobj.name+'/resources/abc.js'), true);
40-
41-
expect(fs.existsSync(tmpobj.name+'/resource-import.js'), true);
32+
[
33+
'/config/_entrypoint.js',
34+
'/resources/abc.js',
35+
'/resource-import.js',
36+
].forEach(file => expect(fs.existsSync(tmpobj.name+file)).toBe(true));
37+
38+
[
39+
'/components/abc.js',
40+
'/config/abc.js',
41+
].forEach(file => {
42+
expect(fs.existsSync(tmpobj.name+file)).toBe(true)
43+
expect(fs.readFileSync(tmpobj.name+file, 'utf8')).toMatch(/bar/);
44+
});
4245

4346
tmpobj.removeCallback();
4447
});

src/generators/ReactGenerator.test.js

Lines changed: 40 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,22 @@ import fs from 'fs';
55
import tmp from 'tmp';
66
import ReactGenerator from './ReactGenerator';
77

8-
98
test('Generate a React app', () => {
109
const generator = new ReactGenerator({hydraPrefix: 'hydra:', templateDirectory: `${__dirname}/../../templates`});
1110
const tmpobj = tmp.dirSync({unsafeCleanup: true});
1211

13-
const fields = [new Field('bar', {
14-
id: 'http://schema.org/url',
15-
range: 'http://www.w3.org/2001/XMLSchema#string',
16-
reference: null,
17-
required: true,
18-
description: 'An URL'
19-
})];
12+
const fields = [
13+
new Field('bar', {
14+
id: 'http://schema.org/url',
15+
range: 'http://www.w3.org/2001/XMLSchema#string',
16+
reference: null,
17+
required: true,
18+
description: 'An URL'
19+
}),
20+
];
2021
const resource = new Resource('abc', 'http://example.com/foos', {
21-
id: 'foo',
22-
title: 'Foo',
22+
id: 'abc',
23+
title: 'abc',
2324
readableFields: fields,
2425
writableFields: fields
2526
});
@@ -30,26 +31,39 @@ test('Generate a React app', () => {
3031
});
3132
generator.generate(api, resource, tmpobj.name);
3233

33-
expect(fs.existsSync(tmpobj.name+'/utils/fetch.js'), true);
34-
expect(fs.existsSync(tmpobj.name+'/utils/helpers.js'), true);
34+
[
35+
'/utils/fetch.js',
36+
'/utils/helpers.js',
37+
'/config/_entrypoint.js',
38+
39+
'/actions/abc/create.js',
40+
'/actions/abc/delete.js',
41+
'/actions/abc/list.js',
42+
'/actions/abc/show.js',
43+
'/actions/abc/update.js',
3544

36-
expect(fs.existsSync(tmpobj.name+'/config/_entrypoint.js'), true);
45+
'/components/abc/index.js',
46+
'/components/abc/Create.js',
47+
'/components/abc/Update.js',
3748

38-
expect(fs.existsSync(tmpobj.name+'/actions/abc/create.js'), true);
39-
expect(fs.existsSync(tmpobj.name+'/actions/abc/delete.js'), true);
40-
expect(fs.existsSync(tmpobj.name+'/actions/abc/list.js'), true);
41-
expect(fs.existsSync(tmpobj.name+'/actions/abc/update.js'), true);
49+
'/routes/abc.js',
4250

43-
expect(fs.existsSync(tmpobj.name+'/components/abc/Create.js'), true);
44-
expect(fs.existsSync(tmpobj.name+'/components/abc/Form.js'), true);
45-
expect(fs.existsSync(tmpobj.name+'/components/abc/List.js'), true);
46-
expect(fs.existsSync(tmpobj.name+'/components/abc/Update.js'), true);
51+
'/reducers/abc/create.js',
52+
'/reducers/abc/delete.js',
53+
'/reducers/abc/index.js',
54+
'/reducers/abc/list.js',
55+
'/reducers/abc/show.js',
56+
'/reducers/abc/update.js',
57+
].forEach(file => expect(fs.existsSync(tmpobj.name+file)).toBe(true));
4758

48-
expect(fs.existsSync(tmpobj.name+'/reducers/abc/create.js'), true);
49-
expect(fs.existsSync(tmpobj.name+'/reducers/abc/delete.js'), true);
50-
expect(fs.existsSync(tmpobj.name+'/reducers/abc/index.js'), true);
51-
expect(fs.existsSync(tmpobj.name+'/reducers/abc/list.js'), true);
52-
expect(fs.existsSync(tmpobj.name+'/reducers/abc/update.js'), true);
59+
[
60+
'/components/abc/Form.js',
61+
'/components/abc/List.js',
62+
'/components/abc/Show.js',
63+
].forEach(file => {
64+
expect(fs.existsSync(tmpobj.name+file)).toBe(true);
65+
expect(fs.readFileSync(tmpobj.name+file, 'utf8')).toMatch(/bar/);
66+
});
5367

5468
tmpobj.removeCallback();
5569
});

src/generators/ReactNativeGenerator.test.js

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ test('Generate a React app', () => {
1818
description: 'An URL'
1919
})];
2020
const resource = new Resource('abc', 'http://example.com/foos', {
21-
id: 'foo',
22-
title: 'Foo',
21+
id: 'abc',
22+
title: 'abc',
2323
readableFields: fields,
2424
writableFields: fields
2525
});
@@ -30,25 +30,35 @@ test('Generate a React app', () => {
3030
});
3131
generator.generate(api, resource, tmpobj.name);
3232

33-
expect(fs.existsSync(tmpobj.name+'/utils/fetch.js'), true);
33+
[
34+
'/utils/fetch.js',
35+
'/config/_entrypoint.js',
3436

35-
expect(fs.existsSync(tmpobj.name+'/config/_entrypoint.js'), true);
37+
'/actions/abc/create.js',
38+
'/actions/abc/delete.js',
39+
'/actions/abc/list.js',
40+
'/actions/abc/show.js',
41+
'/actions/abc/update.js',
3642

37-
expect(fs.existsSync(tmpobj.name+'/actions/abc/create.js'), true);
38-
expect(fs.existsSync(tmpobj.name+'/actions/abc/delete.js'), true);
39-
expect(fs.existsSync(tmpobj.name+'/actions/abc/list.js'), true);
40-
expect(fs.existsSync(tmpobj.name+'/actions/abc/update.js'), true);
43+
'/components/abc/Create.js',
44+
'/components/abc/Update.js',
4145

42-
expect(fs.existsSync(tmpobj.name+'/components/abc/Create.js'), true);
43-
expect(fs.existsSync(tmpobj.name+'/components/abc/Form.js'), true);
44-
expect(fs.existsSync(tmpobj.name+'/components/abc/List.js'), true);
45-
expect(fs.existsSync(tmpobj.name+'/components/abc/Update.js'), true);
46+
'/reducers/abc/create.js',
47+
'/reducers/abc/delete.js',
48+
'/reducers/abc/index.js',
49+
'/reducers/abc/list.js',
50+
'/reducers/abc/show.js',
51+
'/reducers/abc/update.js',
52+
].forEach(file => expect(fs.existsSync(tmpobj.name+file)).toBe(true));
4653

47-
expect(fs.existsSync(tmpobj.name+'/reducers/abc/create.js'), true);
48-
expect(fs.existsSync(tmpobj.name+'/reducers/abc/delete.js'), true);
49-
expect(fs.existsSync(tmpobj.name+'/reducers/abc/index.js'), true);
50-
expect(fs.existsSync(tmpobj.name+'/reducers/abc/list.js'), true);
51-
expect(fs.existsSync(tmpobj.name+'/reducers/abc/update.js'), true);
54+
[
55+
'/components/abc/Form.js',
56+
'/components/abc/List.js',
57+
'/components/abc/Show.js',
58+
].forEach(file => {
59+
expect(fs.existsSync(tmpobj.name+file)).toBe(true);
60+
expect(fs.readFileSync(tmpobj.name+file, 'utf8')).toMatch(/bar/);
61+
});
5262

5363
tmpobj.removeCallback();
5464
});

src/generators/TypescriptInterfaceGenerator.test.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import fs from 'fs';
55
import tmp from 'tmp';
66
import TypescriptInterfaceGenerator from './TypescriptInterfaceGenerator';
77

8-
98
test('Generate a typescript interface', () => {
109
const generator = new TypescriptInterfaceGenerator({templateDirectory: `${__dirname}/../../templates`});
1110
const tmpobj = tmp.dirSync({unsafeCleanup: true});
@@ -40,9 +39,9 @@ test('Generate a typescript interface', () => {
4039
});
4140
generator.generate(api, resource, tmpobj.name);
4241

43-
expect(fs.existsSync(tmpobj.name+'/interfaces/foo.ts'), true);
42+
expect(fs.existsSync(tmpobj.name+'/interfaces/foo.ts')).toBe(true);
4443

45-
const res = `interface Foo {
44+
const res = `interface Foo {
4645
'@id'?: string;
4746
id: string;
4847
foo: any;

0 commit comments

Comments
 (0)