@@ -11,6 +11,7 @@ const User = require('../../../src/model/user')
1111// const RegistryUser = require('../../../src/model/registry-user.js')
1212
1313const shortName = { shortname : 'win_5' }
14+ const registryFlag = { registry : true }
1415
1516describe ( 'Testing user post endpoint' , ( ) => {
1617 let orgUuid
@@ -38,8 +39,31 @@ describe('Testing user post endpoint', () => {
3839 orgUuid = res . body . created . org_UUID
3940 } )
4041 } )
42+ it ( 'Allows creation of user with registry enabled' , async ( ) => {
43+ await chai
44+ . request ( app )
45+ . post ( '/api/org/win_5/user' )
46+ . set ( { ...constants . headers , ...shortName } )
47+ . query ( registryFlag )
48+ . send ( {
49+ user_id : 'fakeregistryuser999' ,
50+ name : {
51+ first : 'Dave' ,
52+ last : 'FakeLastName' ,
53+ middle : 'Cool' ,
54+ suffix : 'Mr.'
55+ } ,
56+ authority : {
57+ active_roles : [ 'ADMIN' ]
58+ }
59+ } )
60+ . then ( ( res , err ) => {
61+ expect ( err ) . to . be . undefined
62+ orgUuid = res . body . created . org_UUID
63+ } )
64+ } )
4165 } )
42- context ( 'Negitive Test ' , ( ) => {
66+ context ( 'Negative Tests ' , ( ) => {
4367 it ( 'Fails creation of user for bad long first name' , async ( ) => {
4468 await chai . request ( app )
4569 . post ( '/api/org/win_5/user' )
@@ -64,6 +88,35 @@ describe('Testing user post endpoint', () => {
6488 expect ( err ) . to . be . undefined
6589 } )
6690 } )
91+ it ( 'Fails creation of user for bad long first name with registry enabled' , async ( ) => {
92+ await chai
93+ . request ( app )
94+ . post ( '/api/org/win_5/user' )
95+ . set ( { ...constants . headers , ...shortName } )
96+ . query ( registryFlag )
97+ . send ( {
98+ user_id : 'fakeregistryuser9999' ,
99+ name : {
100+ first :
101+ 'VerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnm1' ,
102+ last : 'FakeLastName' ,
103+ middle : 'Cool' ,
104+ suffix : 'Mr.'
105+ } ,
106+ authority : {
107+ active_roles : [ 'ADMIN' ]
108+ }
109+ } )
110+ . then ( ( res , err ) => {
111+ expect ( res ) . to . have . status ( 400 )
112+ expect (
113+ _ . some ( res . body . details , {
114+ msg : 'Invalid name.first. Name must be between 1 and 100 characters in length.'
115+ } )
116+ ) . to . be . true
117+ expect ( err ) . to . be . undefined
118+ } )
119+ } )
67120 it ( 'Fails creation of user for bad long last name' , async ( ) => {
68121 await chai . request ( app )
69122 . post ( '/api/org/win_5/user' )
@@ -88,6 +141,34 @@ describe('Testing user post endpoint', () => {
88141 expect ( err ) . to . be . undefined
89142 } )
90143 } )
144+ it ( 'Fails creation of user for bad long last name with registry enabled' , async ( ) => {
145+ await chai
146+ . request ( app )
147+ . post ( '/api/org/win_5/user' )
148+ . set ( { ...constants . headers , ...shortName } )
149+ . query ( registryFlag )
150+ . send ( {
151+ user_id : 'fakeregistryuser1000' ,
152+ name : {
153+ first : 'FirstName' ,
154+ last : 'VerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnm1' ,
155+ middle : 'Cool' ,
156+ suffix : 'Mr.'
157+ } ,
158+ authority : {
159+ active_roles : [ 'ADMIN' ]
160+ }
161+ } )
162+ . then ( ( res , err ) => {
163+ expect ( res ) . to . have . status ( 400 )
164+ expect (
165+ _ . some ( res . body . details , {
166+ msg : 'Invalid name.last. Name must be between 1 and 100 characters in length.'
167+ } )
168+ ) . to . be . true
169+ expect ( err ) . to . be . undefined
170+ } )
171+ } )
91172 it ( 'Fails creation of user for bad long middle name' , async ( ) => {
92173 await chai . request ( app )
93174 . post ( '/api/org/win_5/user' )
@@ -112,6 +193,35 @@ describe('Testing user post endpoint', () => {
112193 expect ( err ) . to . be . undefined
113194 } )
114195 } )
196+ it ( 'Fails creation of user for bad long middle name with registry enabled' , async ( ) => {
197+ await chai
198+ . request ( app )
199+ . post ( '/api/org/win_5/user' )
200+ . set ( { ...constants . headers , ...shortName } )
201+ . query ( registryFlag )
202+ . send ( {
203+ user_id : 'fakeregistryuser1001' ,
204+ name : {
205+ first : 'FirstName' ,
206+ last : 'LastName' ,
207+ middle :
208+ 'VerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnm1' ,
209+ suffix : 'Mr.'
210+ } ,
211+ authority : {
212+ active_roles : [ 'ADMIN' ]
213+ }
214+ } )
215+ . then ( ( res , err ) => {
216+ expect ( res ) . to . have . status ( 400 )
217+ expect (
218+ _ . some ( res . body . details , {
219+ msg : 'Invalid name.middle. Name must be between 1 and 100 characters in length.'
220+ } )
221+ ) . to . be . true
222+ expect ( err ) . to . be . undefined
223+ } )
224+ } )
115225 it ( 'Fails creation of user for bad long suffix name' , async ( ) => {
116226 await chai . request ( app )
117227 . post ( '/api/org/win_5/user' )
@@ -136,6 +246,35 @@ describe('Testing user post endpoint', () => {
136246 expect ( err ) . to . be . undefined
137247 } )
138248 } )
249+ it ( 'Fails creation of user for bad long suffix name with registry enabled' , async ( ) => {
250+ await chai
251+ . request ( app )
252+ . post ( '/api/org/win_5/user' )
253+ . set ( { ...constants . headers , ...shortName } )
254+ . query ( registryFlag )
255+ . send ( {
256+ user_id : 'fakeregistryuser1002' ,
257+ name : {
258+ first : 'FirstName' ,
259+ last : 'LastName' ,
260+ middle : 'MiddleName' ,
261+ suffix :
262+ 'VerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnm1'
263+ } ,
264+ authority : {
265+ active_roles : [ 'ADMIN' ]
266+ }
267+ } )
268+ . then ( ( res , err ) => {
269+ expect ( res ) . to . have . status ( 400 )
270+ expect (
271+ _ . some ( res . body . details , {
272+ msg : 'Invalid name.suffix. Name must be between 1 and 100 characters in length.'
273+ } )
274+ ) . to . be . true
275+ expect ( err ) . to . be . undefined
276+ } )
277+ } )
139278 it ( 'Fails creation of user for trying to add the 101th user' , async function ( ) {
140279 this . timeout ( 70000 )
141280 let counter = await User . where ( { org_UUID : orgUuid } ) . countDocuments ( ) . exec ( )
@@ -184,5 +323,31 @@ describe('Testing user post endpoint', () => {
184323 expect ( res . body . error ) . to . contain ( 'NUMBER_OF_USERS_IN_ORG_LIMIT_REACHED' )
185324 } )
186325 } )
326+ it ( 'Fails creation of user for trying to add the 101th user with registry enabled' , async function ( ) {
327+ await chai
328+ . request ( app )
329+ . post ( '/api/org/win_5/user' )
330+ . set ( { ...constants . headers , ...shortName } )
331+ . query ( registryFlag )
332+ . send ( {
333+ user_id : 'Fake101RegistryUser' ,
334+ name : {
335+ first : 'Dave' ,
336+ last : 'FakeLastName' ,
337+ middle : 'Cool' ,
338+ suffix : 'Mr.'
339+ } ,
340+ authority : {
341+ active_roles : [ 'ADMIN' ]
342+ }
343+ } )
344+ . then ( ( res , err ) => {
345+ expect ( err ) . to . be . undefined
346+ expect ( res ) . to . have . status ( 400 )
347+ expect ( res . body . error ) . to . contain (
348+ 'NUMBER_OF_USERS_IN_ORG_LIMIT_REACHED'
349+ )
350+ } )
351+ } )
187352 } )
188353} )
0 commit comments