UNPKG

@whitecloak/nestjs-passport-firebase

Version:
50 lines 2.46 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const common_1 = require("@nestjs/common"); const passport = require("passport"); const firebase_auth_guard_1 = require("./firebase-auth.guard"); const firebase_strategy_1 = require("./firebase.strategy"); describe('Firebase Auth Guard Middleware', () => { let firebaseAuthGuard; let context; let mockPassport; beforeEach(() => { firebaseAuthGuard = new firebase_auth_guard_1.FirebaseAuthGuard(); mockPassport = passport; mockPassport.use('firebase', new firebase_strategy_1.FirebaseStrategy({ issuer: 'issuer', audience: 'audience' })); context = { switchToHttp: jest.fn(() => ({ getRequest: jest.fn().mockReturnValue({ headers: {}, }), getResponse: jest.fn(), })), }; }); it('should be defined', () => { expect(firebaseAuthGuard).toBeDefined(); }); describe('canActivate', () => { it('should return unauthorized when auth token is not provided', () => __awaiter(void 0, void 0, void 0, function* () { yield expect(firebaseAuthGuard.canActivate(context)).rejects.toThrow(common_1.UnauthorizedException); })); it('should return true when passport.authenticate passed', () => __awaiter(void 0, void 0, void 0, function* () { jest .spyOn(mockPassport, 'authenticate') .mockImplementation((authType, options, callback) => () => { callback(null, true); }); yield expect(firebaseAuthGuard.canActivate(context)).resolves.toEqual(true); })); }); }); //# sourceMappingURL=firebase-auth.guard.spec.js.map