mongodb-dynamic-api 2.3.15 → 2.3.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,6 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ const common_1 = require("@nestjs/common");
12
13
  const jwt_1 = require("@nestjs/jwt");
13
14
  const mongoose_1 = require("@nestjs/mongoose");
14
15
  const testing_1 = require("@nestjs/testing");
@@ -19,7 +20,6 @@ const e2e_setup_1 = require("./e2e.setup");
19
20
  require("dotenv/config");
20
21
  const utils_1 = require("./utils");
21
22
  describe('DynamicApiModule forRoot (e2e)', () => {
22
- let app;
23
23
  const uri = process.env.MONGO_DB_URL;
24
24
  const initModule = async (dynamicApiForRootOptions, initFixtures) => {
25
25
  const moduleRef = await testing_1.Test.createTestingModule({
@@ -34,7 +34,7 @@ describe('DynamicApiModule forRoot (e2e)', () => {
34
34
  await (0, e2e_setup_1.closeTestingApp)(mongoose_2.default.connections);
35
35
  });
36
36
  it('should initialize dynamic api module state with default options', async () => {
37
- app = await initModule({});
37
+ const app = await initModule({});
38
38
  expect(app).toBeDefined();
39
39
  expect(src_1.DynamicApiModule.state.get()).toStrictEqual({
40
40
  uri,
@@ -64,7 +64,7 @@ describe('DynamicApiModule forRoot (e2e)', () => {
64
64
  });
65
65
  });
66
66
  it('should initialize dynamic api module state with custom options', async () => {
67
- app = await initModule({
67
+ const app = await initModule({
68
68
  useGlobalCache: false,
69
69
  cacheOptions: {
70
70
  excludePaths: ['/fake-path'],
@@ -104,6 +104,7 @@ describe('DynamicApiModule forRoot (e2e)', () => {
104
104
  UserEntity = __decorate([
105
105
  (0, mongoose_1.Schema)({ collection: 'users' })
106
106
  ], UserEntity);
107
+ let app;
107
108
  beforeEach(async () => {
108
109
  app = await initModule({ useAuth: { userEntity: UserEntity } });
109
110
  });
@@ -139,7 +140,7 @@ describe('DynamicApiModule forRoot (e2e)', () => {
139
140
  },
140
141
  });
141
142
  });
142
- describe('POST /register', () => {
143
+ describe('POST /auth/register', () => {
143
144
  it('should throw a bad request exception if email is missing', async () => {
144
145
  const { body, status } = await e2e_setup_1.server.post('/auth/register', { username: 'unit-test', password: 'test-2' });
145
146
  expect(status).toBe(400);
@@ -164,7 +165,7 @@ describe('DynamicApiModule forRoot (e2e)', () => {
164
165
  expect(body).toEqual({ accessToken: expect.any(String) });
165
166
  });
166
167
  });
167
- describe('POST /login', () => {
168
+ describe('POST /auth/login', () => {
168
169
  it('should throw an unauthorized exception if email is missing', async () => {
169
170
  const { body, status } = await e2e_setup_1.server.post('/auth/login', { pass: 'test-2' });
170
171
  expect(status).toBe(401);
@@ -188,7 +189,7 @@ describe('DynamicApiModule forRoot (e2e)', () => {
188
189
  expect(body).toEqual({ accessToken: expect.any(String) });
189
190
  });
190
191
  });
191
- describe('GET /account', () => {
192
+ describe('GET /auth/account', () => {
192
193
  it('should throw an unauthorized exception if access token is missing', async () => {
193
194
  const { body, status } = await e2e_setup_1.server.get('/auth/account');
194
195
  expect(status).toBe(401);
@@ -207,9 +208,10 @@ describe('DynamicApiModule forRoot (e2e)', () => {
207
208
  });
208
209
  });
209
210
  });
210
- describe('useAuth with userEntity and jwt options', () => {
211
+ describe('useAuth with jwt options', () => {
211
212
  let jwtService;
212
213
  let token;
214
+ let app;
213
215
  let UserEntity = class UserEntity extends src_1.BaseEntity {
214
216
  };
215
217
  __decorate([
@@ -290,7 +292,8 @@ describe('DynamicApiModule forRoot (e2e)', () => {
290
292
  });
291
293
  });
292
294
  });
293
- describe('useAuth with userEntity and validation options', () => {
295
+ describe('useAuth with validation options', () => {
296
+ let app;
294
297
  let UserEntity = class UserEntity extends src_1.BaseEntity {
295
298
  };
296
299
  __decorate([
@@ -324,7 +327,7 @@ describe('DynamicApiModule forRoot (e2e)', () => {
324
327
  },
325
328
  });
326
329
  });
327
- describe('POST /register', () => {
330
+ describe('POST /auth/register', () => {
328
331
  it('should throw a bad request exception if payload contains non whitelisted property', async () => {
329
332
  const { body, status } = await e2e_setup_1.server.post('/auth/register', { email: 'unit@test.co', password: 'Test-2', role: 'ADMIN' });
330
333
  expect(status).toBe(400);
@@ -352,7 +355,7 @@ describe('DynamicApiModule forRoot (e2e)', () => {
352
355
  expect(body).toEqual({ accessToken: expect.any(String) });
353
356
  });
354
357
  });
355
- describe('POST /login', () => {
358
+ describe('POST /auth/login', () => {
356
359
  beforeEach(async () => {
357
360
  await e2e_setup_1.server.post('/auth/register', { email: 'unit@test.co', password: 'Test-2' });
358
361
  });
@@ -389,7 +392,7 @@ describe('DynamicApiModule forRoot (e2e)', () => {
389
392
  });
390
393
  });
391
394
  });
392
- describe('POST /register with register options', () => {
395
+ describe('POST /auth/register with register options', () => {
393
396
  let User = class User extends src_1.BaseEntity {
394
397
  constructor() {
395
398
  super(...arguments);
@@ -514,5 +517,302 @@ describe('DynamicApiModule forRoot (e2e)', () => {
514
517
  });
515
518
  });
516
519
  });
520
+ describe('POST /auth/login with login options', () => {
521
+ let User = class User extends src_1.BaseEntity {
522
+ constructor() {
523
+ super(...arguments);
524
+ this.role = 'user';
525
+ }
526
+ };
527
+ __decorate([
528
+ (0, mongoose_1.Prop)({ type: String, required: true }),
529
+ __metadata("design:type", String)
530
+ ], User.prototype, "username", void 0);
531
+ __decorate([
532
+ (0, mongoose_1.Prop)({ type: String, required: true }),
533
+ __metadata("design:type", String)
534
+ ], User.prototype, "pass", void 0);
535
+ __decorate([
536
+ (0, mongoose_1.Prop)({ type: String, default: 'user' }),
537
+ __metadata("design:type", String)
538
+ ], User.prototype, "role", void 0);
539
+ __decorate([
540
+ (0, mongoose_1.Prop)({ type: Boolean, default: false }),
541
+ __metadata("design:type", Boolean)
542
+ ], User.prototype, "isVerified", void 0);
543
+ User = __decorate([
544
+ (0, mongoose_1.Schema)({ collection: 'users' })
545
+ ], User);
546
+ const admin = { username: 'admin', pass: 'admin', role: 'admin', isVerified: true };
547
+ const user = { username: 'user', pass: 'user' };
548
+ const client = { username: 'client', pass: 'client', role: 'client', isVerified: true };
549
+ beforeEach(async () => {
550
+ const bcryptService = new src_1.BcryptService();
551
+ const fixtures = async (_) => {
552
+ const model = await (0, utils_1.getModelFromEntity)(User);
553
+ await model.insertMany([
554
+ { ...admin, pass: await bcryptService.hashPassword(admin.pass) },
555
+ { ...user, pass: await bcryptService.hashPassword(user.pass) },
556
+ { ...client, pass: await bcryptService.hashPassword(client.pass) },
557
+ ]);
558
+ };
559
+ await initModule({
560
+ useAuth: {
561
+ userEntity: User,
562
+ login: {
563
+ loginField: 'username',
564
+ passwordField: 'pass',
565
+ additionalFields: ['role', 'isVerified'],
566
+ abilityPredicate: (user) => user.role === 'admin' || user.role === 'user',
567
+ callback: async (user) => {
568
+ if (user.isVerified) {
569
+ return;
570
+ }
571
+ throw new common_1.UnauthorizedException(`Hello ${user.username}, you must verify your account first!`);
572
+ },
573
+ },
574
+ },
575
+ }, fixtures);
576
+ });
577
+ describe('loginField', () => {
578
+ it('should throw an unauthorized exception if loginField is missing', async () => {
579
+ const { body, status } = await e2e_setup_1.server.post('/auth/login', { pass: 'test' });
580
+ expect(status).toBe(401);
581
+ expect(body).toEqual({
582
+ message: 'Unauthorized',
583
+ statusCode: 401,
584
+ });
585
+ });
586
+ });
587
+ describe('passwordField', () => {
588
+ it('should throw an unauthorized exception if passwordField is missing', async () => {
589
+ const { body, status } = await e2e_setup_1.server.post('/auth/login', { username: 'unit' });
590
+ expect(status).toBe(401);
591
+ expect(body).toEqual({
592
+ message: 'Unauthorized',
593
+ statusCode: 401,
594
+ });
595
+ });
596
+ });
597
+ describe('abilityPredicate', () => {
598
+ it('should throw an forbidden exception if user role is not admin or user', async () => {
599
+ const { username, pass } = client;
600
+ const { body, status } = await e2e_setup_1.server.post('/auth/login', { username, pass });
601
+ expect(status).toBe(403);
602
+ expect(body).toEqual({
603
+ error: 'Forbidden',
604
+ message: 'Access denied',
605
+ statusCode: 403,
606
+ });
607
+ });
608
+ });
609
+ describe('callback', () => {
610
+ it('should throw an unauthorized exception if user is not verified', async () => {
611
+ const { username, pass } = user;
612
+ const { body, status } = await e2e_setup_1.server.post('/auth/login', { username, pass });
613
+ expect(status).toBe(401);
614
+ expect(body).toEqual({
615
+ error: 'Unauthorized',
616
+ message: `Hello ${username}, you must verify your account first!`,
617
+ statusCode: 401,
618
+ });
619
+ });
620
+ });
621
+ describe('additionalFields', () => {
622
+ it('should return additional fields', async () => {
623
+ const { username, pass } = admin;
624
+ const { body: { accessToken } } = await e2e_setup_1.server.post('/auth/login', { username, pass });
625
+ const { body, status } = await e2e_setup_1.server.get('/auth/account', { headers: { Authorization: `Bearer ${accessToken}` } });
626
+ expect(status).toBe(200);
627
+ expect(body).toEqual({ id: expect.any(String), username: 'admin', role: 'admin', isVerified: true });
628
+ });
629
+ });
630
+ });
631
+ describe('useAuth with resetPassword options', () => {
632
+ let User = class User extends src_1.BaseEntity {
633
+ };
634
+ __decorate([
635
+ (0, mongoose_1.Prop)({ type: String, required: true }),
636
+ __metadata("design:type", String)
637
+ ], User.prototype, "email", void 0);
638
+ __decorate([
639
+ (0, mongoose_1.Prop)({ type: String, required: true }),
640
+ __metadata("design:type", String)
641
+ ], User.prototype, "password", void 0);
642
+ __decorate([
643
+ (0, mongoose_1.Prop)({ type: Boolean, default: false }),
644
+ __metadata("design:type", Boolean)
645
+ ], User.prototype, "isVerified", void 0);
646
+ __decorate([
647
+ (0, mongoose_1.Prop)({ type: String }),
648
+ __metadata("design:type", String)
649
+ ], User.prototype, "resetPasswordToken", void 0);
650
+ User = __decorate([
651
+ (0, mongoose_1.Schema)({ collection: 'users' })
652
+ ], User);
653
+ let model;
654
+ let user;
655
+ let client;
656
+ let app;
657
+ beforeEach(async () => {
658
+ user = { email: 'user@test.co', password: 'user', isVerified: true };
659
+ client = { email: 'client@test.co', password: 'client' };
660
+ const bcryptService = new src_1.BcryptService();
661
+ const fixtures = async (_) => {
662
+ model = await (0, utils_1.getModelFromEntity)(User);
663
+ await model.insertMany([
664
+ { ...user, password: await bcryptService.hashPassword(user.password) },
665
+ { ...client, password: await bcryptService.hashPassword(client.password) },
666
+ ]);
667
+ };
668
+ app = await initModule({
669
+ useAuth: {
670
+ userEntity: User,
671
+ resetPassword: {
672
+ emailField: 'email',
673
+ expirationInMinutes: 1,
674
+ resetPasswordCallback: async ({ resetPasswordToken }, { updateUserByEmail }) => {
675
+ await updateUserByEmail({ $set: { resetPasswordToken } });
676
+ },
677
+ changePasswordAbilityPredicate: (user) => user.isVerified && !!user.resetPasswordToken,
678
+ changePasswordCallback: async (user, { updateOneDocument }) => {
679
+ await updateOneDocument(User, { _id: user.id }, { $unset: { resetPasswordToken: 1 } });
680
+ },
681
+ },
682
+ },
683
+ }, fixtures);
684
+ });
685
+ describe('POST /auth/reset-password', () => {
686
+ it('should throw a bad request exception if email is missing', async () => {
687
+ const { body, status } = await e2e_setup_1.server.post('/auth/reset-password', {});
688
+ expect(status).toBe(400);
689
+ expect(body).toEqual({
690
+ error: 'Bad Request',
691
+ message: [
692
+ 'email must be an email',
693
+ 'email should not be empty',
694
+ 'email must be a string',
695
+ ],
696
+ statusCode: 400,
697
+ });
698
+ });
699
+ it('should throw a bad request exception if email is invalid', async () => {
700
+ const { body, status } = await e2e_setup_1.server.post('/auth/reset-password', { email: 'unit.test.co' });
701
+ expect(status).toBe(400);
702
+ expect(body).toEqual({
703
+ error: 'Bad Request',
704
+ message: ['email must be an email'],
705
+ statusCode: 400,
706
+ });
707
+ });
708
+ it('should not throw an exception if email is not found', async () => {
709
+ const { body, status } = await e2e_setup_1.server.post('/auth/reset-password', { email: 'invalid@test.co' });
710
+ expect(status).toBe(204);
711
+ expect(body).toEqual({});
712
+ });
713
+ describe('resetPasswordCallback', () => {
714
+ it('should set resetPasswordToken if email is valid', async () => {
715
+ const { email } = user;
716
+ const { resetPasswordToken: resetPasswordTokenBeforeUpdate } = (await model.findOne({ email }).lean().exec());
717
+ const { status } = await e2e_setup_1.server.post('/auth/reset-password', { email });
718
+ const { resetPasswordToken: resetPasswordTokenAfterUpdate } = (await model.findOne({ email }).lean().exec());
719
+ expect(status).toBe(204);
720
+ expect(resetPasswordTokenBeforeUpdate).toStrictEqual(undefined);
721
+ expect(resetPasswordTokenAfterUpdate).toStrictEqual(expect.any(String));
722
+ });
723
+ });
724
+ });
725
+ describe('PATCH /auth/change-password', () => {
726
+ it('should throw a bad request exception if resetPasswordToken is missing', async () => {
727
+ const { body, status } = await e2e_setup_1.server.patch('/auth/change-password', { newPassword: 'test' });
728
+ expect(status).toBe(400);
729
+ expect(body).toEqual({
730
+ error: 'Bad Request',
731
+ message: [
732
+ 'resetPasswordToken should not be empty',
733
+ 'resetPasswordToken must be a string',
734
+ ],
735
+ statusCode: 400,
736
+ });
737
+ });
738
+ it('should throw a bad request exception if newPassword is missing', async () => {
739
+ const { email } = user;
740
+ await e2e_setup_1.server.post('/auth/reset-password', { email });
741
+ const { resetPasswordToken: resetPasswordTokenAfterUpdate } = (await model.findOne({ email }).lean().exec());
742
+ const resetPasswordToken = resetPasswordTokenAfterUpdate;
743
+ const { body, status } = await e2e_setup_1.server.patch('/auth/change-password', { resetPasswordToken });
744
+ expect(status).toBe(400);
745
+ expect(body).toEqual({
746
+ error: 'Bad Request',
747
+ message: [
748
+ 'newPassword should not be empty',
749
+ 'newPassword must be a string',
750
+ ],
751
+ statusCode: 400,
752
+ });
753
+ });
754
+ it('should throw an unauthorized exception if resetPasswordToken is invalid', async () => {
755
+ const { body, status } = await e2e_setup_1.server.patch('/auth/change-password', { resetPasswordToken: 'test', newPassword: 'newPassword' });
756
+ expect(status).toBe(400);
757
+ expect(body).toEqual({
758
+ error: 'Bad Request',
759
+ message: 'Invalid reset password token. Please redo the reset password process.',
760
+ statusCode: 400,
761
+ });
762
+ });
763
+ it('should throw an unauthorized exception if resetPasswordToken is expired', async () => {
764
+ const jwtService = app.get(jwt_1.JwtService);
765
+ const expiredResetPasswordToken = jwtService.sign({ email: user.email }, { expiresIn: 1 });
766
+ await (0, utils_1.wait)(500);
767
+ const { body, status } = await e2e_setup_1.server.patch('/auth/change-password', { resetPasswordToken: expiredResetPasswordToken, newPassword: 'newPassword' });
768
+ expect(status).toBe(401);
769
+ expect(body).toEqual({
770
+ error: 'Unauthorized',
771
+ message: 'Time to reset password has expired. Please redo the reset password process.',
772
+ statusCode: 401,
773
+ });
774
+ });
775
+ describe('changePasswordAbilityPredicate', () => {
776
+ let resetPasswordToken;
777
+ beforeEach(async () => {
778
+ await e2e_setup_1.server.post('/auth/reset-password', { email: client.email });
779
+ const { resetPasswordToken: token } = (await model.findOne({ email: client.email }).lean().exec());
780
+ resetPasswordToken = token;
781
+ });
782
+ it('should throw a forbidden exception if user is not allowed to change password', async () => {
783
+ expect(resetPasswordToken).toStrictEqual(expect.any(String));
784
+ const { body, status } = await e2e_setup_1.server.patch('/auth/change-password', { resetPasswordToken, newPassword: 'newPassword' });
785
+ expect(status).toBe(403);
786
+ expect(body).toEqual({
787
+ error: 'Forbidden',
788
+ message: 'You are not allowed to change your password.',
789
+ statusCode: 403,
790
+ });
791
+ });
792
+ });
793
+ describe('changePasswordCallback', () => {
794
+ let resetPasswordToken;
795
+ beforeEach(async () => {
796
+ await e2e_setup_1.server.post('/auth/reset-password', { email: user.email });
797
+ const { resetPasswordToken: token } = (await model.findOne({ email: user.email }).lean().exec());
798
+ resetPasswordToken = token;
799
+ });
800
+ it('should change password and unset resetPasswordToken if resetPasswordToken is valid', async () => {
801
+ expect(resetPasswordToken).toStrictEqual(expect.any(String));
802
+ const newPassword = 'newPassword';
803
+ const bcryptService = app.get(src_1.BcryptService);
804
+ const { password: passwordBeforeUpdate } = (await model.findOne({ email: user.email }).lean().exec());
805
+ const { status } = await e2e_setup_1.server.patch('/auth/change-password', { resetPasswordToken, newPassword });
806
+ const { password: passwordAfterUpdate, resetPasswordToken: tokenAfterUpdate } = (await model.findOne({ email: user.email }).lean().exec());
807
+ const isPreviousPassword = await bcryptService.comparePassword(user.password, passwordBeforeUpdate);
808
+ expect(isPreviousPassword).toBe(true);
809
+ const isNewPassword = await bcryptService.comparePassword(newPassword, passwordAfterUpdate);
810
+ expect(isNewPassword).toBe(true);
811
+ expect(status).toBe(204);
812
+ expect(tokenAfterUpdate).toStrictEqual(undefined);
813
+ });
814
+ });
815
+ });
816
+ });
517
817
  });
518
818
  //# sourceMappingURL=dynamic-api-for-root.e2e-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api-for-root.e2e-spec.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/dynamic-api-for-root.e2e-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-api-for-root.e2e-spec.js","sourceRoot":"","sources":["../../libs/dynamic-api/test/dynamic-api-for-root.e2e-spec.ts"],"names":[],"mappings":"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"}