| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 'use strict'
-
- const test = require('ava')
- const Hapi = require('@hapi/hapi')
- const UserService = require('../lib/services/user.js')
-
- const plugin = require('../lib/plugins/user.js')
-
- const params = {
- hashedSessionToken: 'a;lsdkfja;ldfjka;ldfja;lskjdfa;dfjk',
- // Replace to get hashToMatchNotFound
- // hashedSessionToken : 'a;lsdkfja;ldfjka;ldfja;lskjdfa;dfjk1'
- }
-
- // Existing activeSession to test against
- const activeSessions = {
- 'a;lsdkfja;ldfjka;ldfja;lskjdfa;dfjk': {
- email: 'test@testemail.com',
- name: 'john_doe',
- seeking: 'position',
- sessionToken: 'efasdf;laksdfja;lkdjfa;lkdjf',
- expiration: Date.now() + 600000,
- // Should return error took too long to respond to email
- // expiration: 600000,
- emailWasRespondedTo: false,
- accessToken: null,
- },
- }
-
- const mockReturn = {
- hashesMatch: true,
- }
-
- const pathToTest = {
- method: 'GET',
- url: `/verify/${params.hashedSessionToken}`,
- }
-
- test(`path /verify/${params.hashedSessionToken} should return OK on GET`, async t => {
- /**
- * Create a new server and register services,
- * models and routes for testing
- */
- const server = Hapi.server()
- server.registrations = {
- 'main-app-plugin': {
- options: {},
- },
- }
-
- /**
- * Register Routes and Services as usual
- */
- await plugin.register(server)
- server.services()['userService'] = new UserService(server)
- server.services()['userService']['activeSessions'] = activeSessions
-
- /**
- * Test the server with registered models and services
- */
- const { payload } = await server.inject(pathToTest)
- const res = JSON.parse(payload)
- t.deepEqual(res.ok, true)
- t.deepEqual(
- activeSessions[params.hashedSessionToken].emailWasRespondedTo,
- true,
- )
- t.deepEqual(res.data, mockReturn)
- server.stop()
- })
|