@@ -10,7 +10,7 @@ import {
1010} from './test-data/users.test-data' ;
1111import { Role } from '@prisma/client' ;
1212import UsersService from '../src/services/users.services' ;
13- import { AccessDeniedException , NotFoundException } from '../src/utils/errors.utils' ;
13+ import { AccessDeniedException , HttpException , NotFoundException } from '../src/utils/errors.utils' ;
1414import userTransformer from '../src/transformers/user.transformer' ;
1515
1616describe ( 'Users' , ( ) => {
@@ -106,6 +106,7 @@ describe('Users', () => {
106106 } ) ;
107107
108108 test ( 'setUserSecureSettings works' , async ( ) => {
109+ vi . spyOn ( prisma . user_Secure_Settings , 'findFirst' ) . mockResolvedValue ( null ) ;
109110 vi . spyOn ( prisma . user_Secure_Settings , 'upsert' ) . mockResolvedValue ( batmanSecureSettings ) ;
110111 const res = await UsersService . setUserSecureSettings (
111112 batman ,
@@ -119,5 +120,20 @@ describe('Users', () => {
119120
120121 expect ( res ) . toBe ( batmanSecureSettings . userSecureSettingsId ) ;
121122 } ) ;
123+
124+ test ( 'setting same phone number does not work' , async ( ) => {
125+ vi . spyOn ( prisma . user_Secure_Settings , 'findFirst' ) . mockResolvedValue ( batmanSecureSettings ) ;
126+ await expect ( ( ) =>
127+ UsersService . setUserSecureSettings (
128+ batman ,
129+ batmanSecureSettings . nuid ,
130+ batmanSecureSettings . street ,
131+ batmanSecureSettings . city ,
132+ batmanSecureSettings . state ,
133+ batmanSecureSettings . zipcode ,
134+ batmanSecureSettings . phoneNumber
135+ )
136+ ) . rejects . toThrow ( new HttpException ( 400 , 'Phone number already in use' ) ) ;
137+ } ) ;
122138 } ) ;
123139} ) ;
0 commit comments