File tree Expand file tree Collapse file tree 3 files changed +101
-8
lines changed Expand file tree Collapse file tree 3 files changed +101
-8
lines changed Original file line number Diff line number Diff line change
1
+ # Javascript Node CircleCI 2.0 configuration file
2
+ #
3
+ # Check {{ '/2.0/language-javascript/' | docs_url }} for more details
4
+ #
5
+ version : 2
6
+
7
+ defaults : &defaults
8
+ working_directory : ~/repo
9
+ docker :
10
+ - image : circleci/node:10
11
+
12
+ jobs :
13
+ test :
14
+ << : *defaults
15
+ steps :
16
+ - checkout
17
+
18
+ - restore_cache :
19
+ keys :
20
+ - v1-dependencies-{{ checksum "package.json" }}
21
+ - v1-dependencies-
22
+
23
+ - run : yarn install
24
+ - run :
25
+ name : Run tests
26
+ command : yarn test
27
+
28
+ - save_cache :
29
+ paths :
30
+ - node_modules
31
+ key : v1-dependencies-{{ checksum "package.json" }}
32
+
33
+ - persist_to_workspace :
34
+ root : ~/repo
35
+ paths : .
36
+
37
+ workflows :
38
+ version : 2
39
+ only_test :
40
+ jobs :
41
+ - test
Original file line number Diff line number Diff line change @@ -30,3 +30,55 @@ generates:
30
30
- ' graphql-codegen-typescript-mock-data ' :
31
31
typesFile : ' ../generated-types.ts'
32
32
` ` `
33
+
34
+ ## Example or generated code
35
+
36
+ Given the following schema:
37
+
38
+ ` ` ` graphql
39
+ type Avatar {
40
+ id : ID!
41
+ url : String!
42
+ }
43
+
44
+ type User {
45
+ id : ID!
46
+ login : String!
47
+ avatar : Avatar
48
+ }
49
+
50
+ type Query {
51
+ user : User!
52
+ }
53
+ ```
54
+
55
+ The code generated will look like:
56
+
57
+ ``` typescript
58
+ export const anAvatar = (overrides ? : Partial <Avatar >): Avatar => {
59
+ return {
60
+ id: ' 1550ff93-cd31-49b4-bc38-ef1cb68bdc38' ,
61
+ url: ' aliquid' ,
62
+ ... overrides ,
63
+ };
64
+ };
65
+
66
+ export const aUser = (overrides ? : Partial <User >): User => {
67
+ return {
68
+ id: ' b5756f00-51a6-422a-9a7d-c13ee6a63750' ,
69
+ login: ' libero' ,
70
+ avatar: anAvatar (),
71
+ ... overrides ,
72
+ };
73
+ };
74
+ ```
75
+
76
+ ### Usage in tests
77
+
78
+ Those helper functions can be used in our unit tests:
79
+
80
+ ``` typescript
81
+ const user = aUser ({ login: ' johndoe' });
82
+
83
+ // will create a user object with `login` property overridden to `johndoe`
84
+ ```
Original file line number Diff line number Diff line change @@ -4,19 +4,19 @@ exports[`should generate mock data functions 1`] = `
4
4
"
5
5
export const anAvatar = (overrides?: Partial<Avatar >): Avatar => {
6
6
return {
7
- id: ' 1550ff93-cd31 -49b4-bc38-ef1cb68bdc38 ' ,
7
+ id: ' 0550ff93-dd31 -49b4-8c38-ff1cb68bdc38 ' ,
8
8
url: ' aliquid' ,
9
9
... overrides
10
- }) ;
10
+ };
11
11
} ;
12
12
13
13
export const aUser = (overrides?: Partial<User >): User => {
14
14
return {
15
- id: ' b5756f00-51a6 -422a-9a7d-c13ee6a63750 ' ,
15
+ id: ' a5756f00-41a6 -422a-8a7d-d13ee6a63750 ' ,
16
16
login: ' libero' ,
17
17
avatar: anAvatar (),
18
18
... overrides
19
- }) ;
19
+ };
20
20
} ;
21
21
"
22
22
`;
@@ -27,19 +27,19 @@ import { Avatar, User } from './types/graphql';
27
27
28
28
export const anAvatar = (overrides?: Partial<Avatar >): Avatar => {
29
29
return {
30
- id: ' 1550ff93-cd31 -49b4-bc38-ef1cb68bdc38 ' ,
30
+ id: ' 0550ff93-dd31 -49b4-8c38-ff1cb68bdc38 ' ,
31
31
url: ' aliquid' ,
32
32
... overrides
33
- }) ;
33
+ };
34
34
} ;
35
35
36
36
export const aUser = (overrides?: Partial<User >): User => {
37
37
return {
38
- id: ' b5756f00-51a6 -422a-9a7d-c13ee6a63750 ' ,
38
+ id: ' a5756f00-41a6 -422a-8a7d-d13ee6a63750 ' ,
39
39
login: ' libero' ,
40
40
avatar: anAvatar (),
41
41
... overrides
42
- }) ;
42
+ };
43
43
} ;
44
44
"
45
45
`;
You can’t perform that action at this time.
0 commit comments