Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { MockAWS } from '../mock-services/mock-aws';
- if (process.env.ENV !== 'CI') {
- /* tslint:disable-next-line */
- new MockAWS();
- } else {
- /* tslint:disable-next-line */
- new MockAWS(['lambda', 'sns', 'ses']);
- }
- import * as request from 'supertest';
- import { ChatModule } from "../src/modules/chat/chat.module";
- import { AWSs3Service } from "../src/modules/common/services/awsS3.service";
- import { AWSSESService } from "../src/modules/common/services/awsSES.service";
- import { FcmService } from "../src/modules/common/services/fcm.service";
- import { PRIVILEGES } from "../src/modules/constants";
- import { PaymentModule } from "../src/modules/payment/payment.module";
- import { ThreadModule } from "../src/modules/thread/thread.module";
- import { StaffService } from "../src/modules/user/services/staff.service";
- import { UserModule } from "../src/modules/user/user.module";
- import { createApp, createClientWrapper, createServer, createStaffWrapper } from './util';
- const modules = [
- UserModule,
- PaymentModule,
- ChatModule,
- ThreadModule,
- ];
- const components = [
- StaffService,
- AWSSESService,
- AWSs3Service,
- FcmService,
- ];
- describe('Package controller tests: ', () => {
- let server;
- let createStaff;
- let createClient;
- let staffService;
- let app;
- beforeAll(async () => {
- server = await createServer();
- app = await createApp(server, modules, components);
- staffService = app.get(StaffService);
- createStaff = createStaffWrapper(server, staffService);
- createClient = createClientWrapper(server);
- });
- afterAll(() => {
- app.close();
- });
- describe('GET /packages', () => {
- it('should return status 200 and packages list', async () => {
- const manager = await createStaff(PRIVILEGES.CONSULTANT, 'Cooper1', { countries: JSON.stringify(['PL', 'GB']) });
- const client = await createClient('Homer1');
- await request(server)
- .get('/packages?currency=PLN')
- .set('authorization', manager.token)
- .expect(200)
- .expect(({body}) => {
- expect(body.currencyIsoCode === 'PLN');
- expect(body.packages.length).toBe(4);
- });
- await request(server)
- .get('/packages')
- .set('authorization', client.token)
- .expect(200)
- .expect(({body}) => {
- expect(body.currencyIsoCode === 'GBP');
- expect(body.packages.length).toBe(4);
- });
- await request(server)
- .get('/packages?currency=')
- .set('authorization', manager.token)
- .expect(200)
- .expect(({body}) => {
- expect(body.currencyIsoCode === 'PLN');
- expect(body.packages.length).toBe(4);
- });
- await request(server)
- .get('/packages?currency=')
- .expect(200)
- .expect(({body}) => {
- expect(body.currencyIsoCode === 'EUR');
- expect(body.packages.length).toBe(4);
- });
- await request(server)
- .get('/packages?currency=GBP')
- .expect(200)
- .expect(({body}) => {
- expect(body.currencyIsoCode === 'GBP');
- expect(body.packages.length).toBe(4);
- });
- });
- });
- describe('GET /packages/:id', () => {
- it('should return status 200 and particular package', async () => {
- const manager = await createStaff(PRIVILEGES.CONSULTANT, 'Cooooper', { countries: JSON.stringify(['PL', 'GB']) });
- const client = await createClient('Hooomer');
- const { body: packResponse } = await request(server)
- .get('/packages?currency=GBP')
- .set('authorization', manager.token)
- .expect(200)
- .expect(({body}) => {
- expect(body.currencyIsoCode === 'PLN');
- expect(body.packages.length).toBe(4);
- });
- const { body: packClientResponse } = await request(server)
- .get('/packages?currency=EUR')
- .set('authorization', client.token)
- .expect(200)
- .expect(({body}) => {
- expect(body.currencyIsoCode === 'EUR');
- expect(body.packages.length).toBe(4);
- });
- await request(server)
- .get('/packages?currency=PLN')
- .set('authorization', client.token)
- .expect(200)
- .expect(({body}) => {
- expect(body.currencyIsoCode === 'PLN');
- expect(body.packages.length).toBe(4);
- });
- await request(server)
- .get(`/packages/${packClientResponse.packages[0].id}`)
- .set('authorization', client.token)
- .expect(200)
- .expect(({body}) => {
- expect(body.id).toBeDefined();
- });
- await request(server)
- .get(`/packages/${packResponse.packages[0].id}`)
- .set('authorization', manager.token)
- .expect(200)
- .expect(({body}) => {
- expect(body.id).toBeDefined();
- });
- await request(server)
- .get(`/packages/${packResponse.packages[0].id}`)
- .expect(200)
- .expect(({body}) => {
- expect(body.id).toBeDefined();
- });
- });
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement