All files / server/test persist.js

100% Statements 0/0
100% Branches 0/0
100% Functions 0/0
100% Lines 0/0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95                                                                                                                                                                                             
// // Persist - make request in a persistent way
//
// const supertest = require('supertest');
//
// module.exports = ctx => ({
//   getter: async (path) => {
//     const res = await supertest(ctx.server)
//       .get(path)
//       .set('Cookie', ctx.prev || '');
//
//     ctx.prev = res.headers['set-cookie'];
//     res.body = res.text;
//     return res;
//   },
//   poster: async (path = '/', data = {}) => {
//     const res = await supertest(ctx.server)
//       .post(path)
//       .send(data)
//       .set('Cookie', ctx.prev || '');
//
//     ctx.prev = res.headers['set-cookie'];
//     res.body = res.text;
//     return res;
//   },
//   close: () => ctx.close()
// });
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
// // The final method for using getter, poster, etc
// // It needs to be full wrapped for using ctx.close()
// // Full examples:
// // Plain
// //   server().then(super(async test => {
// //     await test.get('/');
// //   }));
// //
// // Highlight the server()
// //   const ctx = await server();
// //   return super(async test => {
// //     await test.get('/');
// //   })(ctx);
// //
// // Highlight the get()
// //   return super(async test => {
// //     await test.get('/');
// //   })(await server());
//
// // Persist - make request in a persistent way
// module.exports = cb => {
//   return async ctx => {
//     try {
//       const test = {};
//       test.get = async (path) => {
//         const res = await supertest(ctx.server)
//           .get(path)
//           .set('Cookie', ctx.prev || '');
//         ctx.prev = res.headers['set-cookie'];
//         res.body = res.text;
//         return res;
//       };
//       test.post = async (path = '/', data = {}) => {
//         const res = await supertest(ctx.server)
//           .post(path)
//           .send(data)
//           .set('Cookie', ctx.prev || '');
//
//         ctx.prev = res.headers['set-cookie'];
//         res.body = res.text;
//         return res;
//       };
//       test.put = () => {};
//       test.del = () => {};
//       test.socket = () => {};
//       await cb(test);
//     } finally {
//       ctx.close();
//     }
//   };
// };