Skip to content
This repository was archived by the owner on Dec 8, 2021. It is now read-only.

Commit e76fb8e

Browse files
committed
Add tests to compile output of graphqlgen with flow
1 parent 5505044 commit e76fb8e

File tree

9 files changed

+134
-188
lines changed

9 files changed

+134
-188
lines changed

packages/graphqlgen/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
"@types/prettier": "1.13.2",
6060
"@types/rimraf": "2.0.2",
6161
"@types/yargs": "12.0.1",
62+
"flow-bin": "^0.86.0",
6263
"jest": "23.6.0",
6364
"ts-jest": "23.10.4",
6465
"ts-node": "7.0.1",
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
// @flow
22

3-
interface Data {
3+
export interface Data {
44
users: User[];
55
}
66

7-
interface Context {
7+
export interface Context {
88
data: Data;
99
}
1010

11-
interface User {
11+
export interface User {
1212
id: string;
1313
}

packages/graphqlgen/src/tests/fixtures/prisma/flow-types.js

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export interface Review {
3131
checkIn: number;
3232
cleanliness: number;
3333
communication: number;
34-
createdAt: undefined;
34+
createdAt: string;
3535
id: string;
3636
location: number;
3737
stars: number;
@@ -119,7 +119,7 @@ export interface Amenities {
119119

120120
export interface User {
121121
bookings: any[];
122-
createdAt: undefined;
122+
createdAt: string;
123123
email: string;
124124
firstName: string;
125125
hostingExperiences: any[];
@@ -136,30 +136,30 @@ export interface User {
136136
responseRate: number | null;
137137
responseTime: number | null;
138138
sentMessages: any[];
139-
updatedAt: undefined;
139+
updatedAt: string;
140140
}
141141

142142
export interface Booking {
143143
id: string;
144-
createdAt: undefined;
144+
createdAt: string;
145145
bookee: any;
146146
place: any;
147-
startDate: undefined;
148-
endDate: undefined;
147+
startDate: any;
148+
endDate: any;
149149
payment: any;
150150
}
151151

152152
export interface Payment {
153153
booking: any;
154-
createdAt: undefined;
154+
createdAt: string;
155155
id: string;
156156
paymentMethod: any;
157157
serviceFee: number;
158158
}
159159

160160
export interface PaymentAccount {
161161
id: string;
162-
createdAt: undefined;
162+
createdAt: string;
163163
type: any | null;
164164
user: any;
165165
payments: any[];
@@ -170,7 +170,7 @@ export interface PaymentAccount {
170170
export interface PAYMENT_PROVIDER {}
171171

172172
export interface PaypalInformation {
173-
createdAt: undefined;
173+
createdAt: string;
174174
email: string;
175175
id: string;
176176
paymentAccount: any;
@@ -179,7 +179,7 @@ export interface PaypalInformation {
179179
export interface CreditCardInformation {
180180
cardNumber: string;
181181
country: string;
182-
createdAt: undefined;
182+
createdAt: string;
183183
expiresOnMonth: number;
184184
expiresOnYear: number;
185185
firstName: string;
@@ -191,21 +191,21 @@ export interface CreditCardInformation {
191191
}
192192

193193
export interface Notification {
194-
createdAt: undefined;
194+
createdAt: string;
195195
id: string;
196196
link: string;
197-
readDate: undefined;
197+
readDate: any;
198198
type: any | null;
199199
user: any;
200200
}
201201

202202
export interface NOTIFICATION_TYPE {}
203203

204204
export interface Message {
205-
createdAt: undefined;
206-
deliveredAt: undefined;
205+
createdAt: string;
206+
deliveredAt: any;
207207
id: string;
208-
readAt: undefined;
208+
readAt: any;
209209
}
210210

211211
export interface Pricing {
@@ -242,21 +242,21 @@ export interface Policies {
242242
checkInEndTime: number;
243243
checkInStartTime: number;
244244
checkoutTime: number;
245-
createdAt: undefined;
245+
createdAt: string;
246246
id: string;
247-
updatedAt: undefined;
247+
updatedAt: string;
248248
}
249249

250250
export interface HouseRules {
251251
additionalRules: string | null;
252-
createdAt: undefined;
252+
createdAt: string;
253253
id: string;
254254
partiesAndEventsAllowed: boolean | null;
255255
petsAllowed: boolean | null;
256256
smokingAllowed: boolean | null;
257257
suitableForChildren: boolean | null;
258258
suitableForInfants: boolean | null;
259-
updatedAt: undefined;
259+
updatedAt: string;
260260
}
261261

262262
export interface Reservation {

packages/graphqlgen/src/tests/flow/__snapshots__/basic.test.ts.snap

Lines changed: 7 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ exports[`basic enum 1`] = `
55
// Code generated by github.com/prisma/graphqlgen, DO NOT EDIT.
66
77
import type { GraphQLResolveInfo } from \\"graphql\\";
8-
import type { User } from \\"../../../fixtures/enum/types-flow\\";
8+
import type { User } from \\"../../fixtures/enum/types-flow\\";
99
type Context = any;
1010
1111
type EnumAnnotation = \\"EDITOR\\" | \\"COLLABORATOR\\";
@@ -159,124 +159,12 @@ export const resolvers: Resolvers = {
159159
]
160160
`;
161161
162-
exports[`basic scalar 1`] = `
163-
"/* @flow */
164-
// Code generated by github.com/prisma/graphqlgen, DO NOT EDIT.
165-
166-
import type { GraphQLResolveInfo } from \\"graphql\\";
167-
import type { AddMemberPayload } from \\"../../../fixtures/scalar/flow-types\\";
168-
type Context = any;
169-
170-
// Types for Mutation
171-
export const Mutation_defaultResolvers = {};
172-
173-
export interface Mutation_AddMemberData {
174-
email: string;
175-
projects: string[];
176-
}
177-
178-
export interface Mutation_Args_AddMember {
179-
data: AddMemberData;
180-
}
181-
182-
export type Mutation_AddMember_Resolver = (
183-
parent: {},
184-
args: Mutation_Args_AddMember,
185-
ctx: Context,
186-
info: GraphQLResolveInfo
187-
) => AddMemberPayload | Promise<AddMemberPayload>;
188-
189-
export interface Mutation_Resolvers {
190-
addMember: (
191-
parent: {},
192-
args: Mutation_Args_AddMember,
193-
ctx: Context,
194-
info: GraphQLResolveInfo
195-
) => AddMemberPayload | Promise<AddMemberPayload>;
196-
}
197-
198-
// Types for AddMemberPayload
199-
export const AddMemberPayload_defaultResolvers = {
200-
json: (parent: AddMemberPayload) => parent.json
201-
};
202-
203-
export type AddMemberPayload_Json_Resolver = (
204-
parent: AddMemberPayload,
205-
args: {},
206-
ctx: Context,
207-
info: GraphQLResolveInfo
208-
) => string | null | Promise<string | null>;
209-
210-
export interface AddMemberPayload_Resolvers {
211-
json: (
212-
parent: AddMemberPayload,
213-
args: {},
214-
ctx: Context,
215-
info: GraphQLResolveInfo
216-
) => string | null | Promise<string | null>;
217-
}
218-
219-
export interface Resolvers {
220-
Mutation: Mutation_Resolvers;
221-
AddMemberPayload: AddMemberPayload_Resolvers;
222-
}
223-
"
224-
`;
225-
226-
exports[`basic scalar 2`] = `
227-
Array [
228-
Object {
229-
"code": "/* @flow */
230-
import { AddMemberPayload_defaultResolvers } from \\"[TEMPLATE-INTERFACES-PATH]\\";
231-
import type { AddMemberPayload_Resolvers } from \\"[TEMPLATE-INTERFACES-PATH]\\";
232-
233-
export const AddMemberPayload: AddMemberPayload_Resolvers = {
234-
...AddMemberPayload_defaultResolvers
235-
};
236-
",
237-
"force": false,
238-
"path": "AddMemberPayload.js",
239-
},
240-
Object {
241-
"code": "/* @flow */
242-
import type { Mutation_Resolvers } from \\"[TEMPLATE-INTERFACES-PATH]\\";
243-
244-
export const Mutation: Mutation_Resolvers = {
245-
addMember: (parent, args, ctx, info) => {
246-
throw new Error(\\"Resolver not implemented\\");
247-
}
248-
};
249-
",
250-
"force": false,
251-
"path": "Mutation.js",
252-
},
253-
Object {
254-
"code": "// @flow
255-
// This resolver file was scaffolded by github.com/prisma/graphqlgen, DO NOT EDIT.
256-
// Please do not import this file directly but copy & paste to your application code.
257-
258-
import type { Resolvers } from \\"[TEMPLATE-INTERFACES-PATH]\\";
259-
260-
import { Mutation } from \\"./Mutation\\";
261-
import { AddMemberPayload } from \\"./AddMemberPayload\\";
262-
263-
export const resolvers: Resolvers = {
264-
Mutation,
265-
AddMemberPayload
266-
};
267-
",
268-
"force": false,
269-
"path": "index.js",
270-
},
271-
]
272-
`;
273-
274162
exports[`basic schema 1`] = `
275163
"/* @flow */
276164
// Code generated by github.com/prisma/graphqlgen, DO NOT EDIT.
277165
278166
import type { GraphQLResolveInfo } from \\"graphql\\";
279-
import type { Number } from \\"../../../fixtures/basic/types-flow\\";
167+
import type { Number } from \\"../../fixtures/basic/types-flow\\";
280168
type Context = any;
281169
282170
// Types for Query
@@ -614,11 +502,7 @@ exports[`basic union 1`] = `
614502
// Code generated by github.com/prisma/graphqlgen, DO NOT EDIT.
615503
616504
import type { GraphQLResolveInfo } from \\"graphql\\";
617-
import type {
618-
User,
619-
Student,
620-
Professor
621-
} from \\"../../../fixtures/union/flow-types\\";
505+
import type { User, Student, Professor } from \\"../../fixtures/union/flow-types\\";
622506
type Context = any;
623507
624508
// Types for User
@@ -791,8 +675,8 @@ exports[`context 1`] = `
791675
// Code generated by github.com/prisma/graphqlgen, DO NOT EDIT.
792676
793677
import type { GraphQLResolveInfo } from \\"graphql\\";
794-
import type { User } from \\"../../../fixtures/context/flow-types\\";
795-
import type { Context } from \\"../../../fixtures/context/flow-types\\";
678+
import type { User } from \\"../../fixtures/context/flow-types\\";
679+
import type { Context } from \\"../../fixtures/context/flow-types\\";
796680
797681
// Types for Query
798682
export const Query_defaultResolvers = {};
@@ -894,7 +778,7 @@ exports[`defaultName 1`] = `
894778
// Code generated by github.com/prisma/graphqlgen, DO NOT EDIT.
895779
896780
import type { GraphQLResolveInfo } from \\"graphql\\";
897-
import type { NumberNode } from \\"../../../fixtures/defaultName/flow-types\\";
781+
import type { NumberNode } from \\"../../fixtures/defaultName/flow-types\\";
898782
type Context = any;
899783
900784
// Types for Query
@@ -1232,7 +1116,7 @@ exports[`subscription 1`] = `
12321116
// Code generated by github.com/prisma/graphqlgen, DO NOT EDIT.
12331117
12341118
import type { GraphQLResolveInfo } from \\"graphql\\";
1235-
import type { User } from \\"../../../fixtures/subscription/flow-types\\";
1119+
import type { User } from \\"../../fixtures/subscription/flow-types\\";
12361120
type Context = any;
12371121
12381122
// Types for Subscription

packages/graphqlgen/src/tests/flow/__snapshots__/large-schema.test.ts.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import type {
3434
Message,
3535
AuthPayload,
3636
MutationResult
37-
} from \\"../../../fixtures/prisma/flow-types\\";
37+
} from \\"../../fixtures/prisma/flow-types\\";
3838
type Context = any;
3939

4040
type PLACE_SIZES =

0 commit comments

Comments
 (0)