2016-07-05 17:25:18 -07:00
|
|
|
import * as hapi from 'hapi';
|
2016-09-09 07:49:23 -05:00
|
|
|
import { ApolloHAPI, GraphiQLHAPI, HAPIPluginOptions } from './hapiApollo';
|
2016-07-05 17:25:18 -07:00
|
|
|
|
2016-09-09 07:49:23 -05:00
|
|
|
import testSuite, { Schema } from './integrations.test';
|
2016-07-05 17:25:18 -07:00
|
|
|
|
2016-09-09 07:49:23 -05:00
|
|
|
function createApp(createOptions: HAPIPluginOptions) {
|
2016-07-05 17:25:18 -07:00
|
|
|
const server = new hapi.Server();
|
|
|
|
|
|
|
|
server.connection({
|
|
|
|
host: 'localhost',
|
|
|
|
port: 8000,
|
|
|
|
});
|
|
|
|
|
|
|
|
server.register({
|
2016-09-09 07:49:23 -05:00
|
|
|
register: ApolloHAPI,
|
|
|
|
options: {
|
|
|
|
apolloOptions: createOptions ? createOptions.apolloOptions : { schema: Schema },
|
|
|
|
path: '/graphql',
|
|
|
|
},
|
2016-07-05 17:25:18 -07:00
|
|
|
});
|
|
|
|
|
2016-07-06 07:05:59 -07:00
|
|
|
server.register({
|
2016-09-09 07:49:23 -05:00
|
|
|
register: GraphiQLHAPI,
|
|
|
|
options: {
|
|
|
|
path: '/graphiql',
|
|
|
|
graphiqlOptions: {
|
|
|
|
endpointURL: '/graphql',
|
|
|
|
},
|
|
|
|
},
|
2016-07-06 07:05:59 -07:00
|
|
|
});
|
|
|
|
|
|
|
|
return server.listener;
|
2016-07-05 17:25:18 -07:00
|
|
|
}
|
|
|
|
|
2016-07-16 07:31:14 -07:00
|
|
|
describe('integration:HAPI', () => {
|
2016-07-07 08:46:10 -07:00
|
|
|
testSuite(createApp);
|
|
|
|
});
|