@@ -21,6 +21,7 @@ describe('UPDATE project type', () => {
2121 aliases : [ 'key-1' , 'key_1' ] ,
2222 disabled : false ,
2323 hidden : false ,
24+ metadata : { 'slack-notification-mappings' : { color : '#96d957' , label : 'Full App' } } ,
2425 createdBy : 1 ,
2526 updatedBy : 1 ,
2627 } ;
@@ -42,6 +43,7 @@ describe('UPDATE project type', () => {
4243 aliases : [ 'key-1-updated' , 'key_1_updated' ] ,
4344 disabled : true ,
4445 hidden : true ,
46+ metadata : { 'slack-notification-mappings' : { color : '#b47dd6' , label : 'Full App 2' } } ,
4547 } ,
4648 } ;
4749
@@ -113,6 +115,7 @@ describe('UPDATE project type', () => {
113115 delete partialBody . param . aliases ;
114116 delete partialBody . param . disabled ;
115117 delete partialBody . param . hidden ;
118+ delete partialBody . param . metadata ;
116119 request ( server )
117120 . patch ( `/v4/projectTypes/${ key } ` )
118121 . set ( {
@@ -130,6 +133,7 @@ describe('UPDATE project type', () => {
130133 resJson . aliases . should . be . eql ( type . aliases ) ;
131134 resJson . disabled . should . be . eql ( type . disabled ) ;
132135 resJson . hidden . should . be . eql ( type . hidden ) ;
136+ resJson . metadata . should . be . eql ( type . metadata ) ;
133137 resJson . createdBy . should . be . eql ( type . createdBy ) ;
134138 resJson . createdBy . should . be . eql ( type . createdBy ) ; // should not update createdAt
135139 resJson . updatedBy . should . be . eql ( 40051333 ) ; // admin
@@ -149,6 +153,7 @@ describe('UPDATE project type', () => {
149153 delete partialBody . param . aliases ;
150154 delete partialBody . param . disabled ;
151155 delete partialBody . param . hidden ;
156+ delete partialBody . param . metadata ;
152157 request ( server )
153158 . patch ( `/v4/projectTypes/${ key } ` )
154159 . set ( {
@@ -166,6 +171,7 @@ describe('UPDATE project type', () => {
166171 resJson . aliases . should . be . eql ( type . aliases ) ;
167172 resJson . disabled . should . be . eql ( type . disabled ) ;
168173 resJson . hidden . should . be . eql ( type . hidden ) ;
174+ resJson . metadata . should . be . eql ( type . metadata ) ;
169175 resJson . createdBy . should . be . eql ( type . createdBy ) ;
170176 resJson . createdBy . should . be . eql ( type . createdBy ) ; // should not update createdAt
171177 resJson . updatedBy . should . be . eql ( 40051333 ) ; // admin
@@ -185,6 +191,7 @@ describe('UPDATE project type', () => {
185191 delete partialBody . param . aliases ;
186192 delete partialBody . param . disabled ;
187193 delete partialBody . param . hidden ;
194+ delete partialBody . param . metadata ;
188195 request ( server )
189196 . patch ( `/v4/projectTypes/${ key } ` )
190197 . set ( {
@@ -202,6 +209,7 @@ describe('UPDATE project type', () => {
202209 resJson . aliases . should . be . eql ( type . aliases ) ;
203210 resJson . disabled . should . be . eql ( type . disabled ) ;
204211 resJson . hidden . should . be . eql ( type . hidden ) ;
212+ resJson . metadata . should . be . eql ( type . metadata ) ;
205213 resJson . createdBy . should . be . eql ( type . createdBy ) ;
206214 resJson . createdBy . should . be . eql ( type . createdBy ) ; // should not update createdAt
207215 resJson . updatedBy . should . be . eql ( 40051333 ) ; // admin
@@ -221,6 +229,7 @@ describe('UPDATE project type', () => {
221229 delete partialBody . param . aliases ;
222230 delete partialBody . param . disabled ;
223231 delete partialBody . param . hidden ;
232+ delete partialBody . param . metadata ;
224233 request ( server )
225234 . patch ( `/v4/projectTypes/${ key } ` )
226235 . set ( {
@@ -238,6 +247,7 @@ describe('UPDATE project type', () => {
238247 resJson . aliases . should . be . eql ( type . aliases ) ;
239248 resJson . disabled . should . be . eql ( type . disabled ) ;
240249 resJson . hidden . should . be . eql ( type . hidden ) ;
250+ resJson . metadata . should . be . eql ( type . metadata ) ;
241251 resJson . createdBy . should . be . eql ( type . createdBy ) ;
242252 resJson . createdBy . should . be . eql ( type . createdBy ) ; // should not update createdAt
243253 resJson . updatedBy . should . be . eql ( 40051333 ) ; // admin
@@ -257,6 +267,7 @@ describe('UPDATE project type', () => {
257267 delete partialBody . param . displayName ;
258268 delete partialBody . param . disabled ;
259269 delete partialBody . param . hidden ;
270+ delete partialBody . param . metadata ;
260271 request ( server )
261272 . patch ( `/v4/projectTypes/${ key } ` )
262273 . set ( {
@@ -274,6 +285,7 @@ describe('UPDATE project type', () => {
274285 resJson . aliases . should . be . eql ( partialBody . param . aliases ) ;
275286 resJson . disabled . should . be . eql ( type . disabled ) ;
276287 resJson . hidden . should . be . eql ( type . hidden ) ;
288+ resJson . metadata . should . be . eql ( type . metadata ) ;
277289 resJson . createdBy . should . be . eql ( type . createdBy ) ;
278290 resJson . createdBy . should . be . eql ( type . createdBy ) ; // should not update createdAt
279291 resJson . updatedBy . should . be . eql ( 40051333 ) ; // admin
@@ -293,6 +305,7 @@ describe('UPDATE project type', () => {
293305 delete partialBody . param . displayName ;
294306 delete partialBody . param . aliases ;
295307 delete partialBody . param . hidden ;
308+ delete partialBody . param . metadata ;
296309 request ( server )
297310 . patch ( `/v4/projectTypes/${ key } ` )
298311 . set ( {
@@ -310,6 +323,7 @@ describe('UPDATE project type', () => {
310323 resJson . aliases . should . be . eql ( type . aliases ) ;
311324 resJson . disabled . should . be . eql ( partialBody . param . disabled ) ;
312325 resJson . hidden . should . be . eql ( type . hidden ) ;
326+ resJson . metadata . should . be . eql ( type . metadata ) ;
313327 resJson . createdBy . should . be . eql ( type . createdBy ) ;
314328 resJson . createdBy . should . be . eql ( type . createdBy ) ; // should not update createdAt
315329 resJson . updatedBy . should . be . eql ( 40051333 ) ; // admin
@@ -329,6 +343,7 @@ describe('UPDATE project type', () => {
329343 delete partialBody . param . displayName ;
330344 delete partialBody . param . disabled ;
331345 delete partialBody . param . aliases ;
346+ delete partialBody . param . metadata ;
332347 request ( server )
333348 . patch ( `/v4/projectTypes/${ key } ` )
334349 . set ( {
@@ -346,6 +361,44 @@ describe('UPDATE project type', () => {
346361 resJson . aliases . should . be . eql ( type . aliases ) ;
347362 resJson . disabled . should . be . eql ( type . disabled ) ;
348363 resJson . hidden . should . be . eql ( partialBody . param . hidden ) ;
364+ resJson . metadata . should . be . eql ( type . metadata ) ;
365+ resJson . createdBy . should . be . eql ( type . createdBy ) ; // should not update createdAt
366+ resJson . updatedBy . should . be . eql ( 40051333 ) ; // admin
367+ should . exist ( resJson . updatedAt ) ;
368+ should . not . exist ( resJson . deletedBy ) ;
369+ should . not . exist ( resJson . deletedAt ) ;
370+
371+ done ( ) ;
372+ } ) ;
373+ } ) ;
374+
375+ it ( 'should return 200 for admin metadata updated' , ( done ) => {
376+ const partialBody = _ . cloneDeep ( body ) ;
377+ delete partialBody . param . icon ;
378+ delete partialBody . param . info ;
379+ delete partialBody . param . question ;
380+ delete partialBody . param . displayName ;
381+ delete partialBody . param . disabled ;
382+ delete partialBody . param . aliases ;
383+ delete partialBody . param . hidden ;
384+ request ( server )
385+ . patch ( `/v4/projectTypes/${ key } ` )
386+ . set ( {
387+ Authorization : `Bearer ${ testUtil . jwts . admin } ` ,
388+ } )
389+ . send ( partialBody )
390+ . expect ( 200 )
391+ . end ( ( err , res ) => {
392+ const resJson = res . body . result . content ;
393+ resJson . key . should . be . eql ( key ) ;
394+ resJson . displayName . should . be . eql ( type . displayName ) ;
395+ resJson . icon . should . be . eql ( type . icon ) ;
396+ resJson . info . should . be . eql ( type . info ) ;
397+ resJson . question . should . be . eql ( type . question ) ;
398+ resJson . aliases . should . be . eql ( type . aliases ) ;
399+ resJson . disabled . should . be . eql ( type . disabled ) ;
400+ resJson . hidden . should . be . eql ( type . hidden ) ;
401+ resJson . metadata . should . be . eql ( partialBody . param . metadata ) ;
349402 resJson . createdBy . should . be . eql ( type . createdBy ) ; // should not update createdAt
350403 resJson . updatedBy . should . be . eql ( 40051333 ) ; // admin
351404 should . exist ( resJson . updatedAt ) ;
@@ -374,6 +427,7 @@ describe('UPDATE project type', () => {
374427 resJson . aliases . should . be . eql ( body . param . aliases ) ;
375428 resJson . disabled . should . be . eql ( body . param . disabled ) ;
376429 resJson . hidden . should . be . eql ( body . param . hidden ) ;
430+ resJson . metadata . should . be . eql ( body . param . metadata ) ;
377431 resJson . createdBy . should . be . eql ( type . createdBy ) ; // should not update createdAt
378432 resJson . updatedBy . should . be . eql ( 40051333 ) ; // admin
379433 should . exist ( resJson . updatedAt ) ;
@@ -402,6 +456,7 @@ describe('UPDATE project type', () => {
402456 resJson . aliases . should . be . eql ( body . param . aliases ) ;
403457 resJson . disabled . should . be . eql ( body . param . disabled ) ;
404458 resJson . hidden . should . be . eql ( body . param . hidden ) ;
459+ resJson . metadata . should . be . eql ( body . param . metadata ) ;
405460 resJson . createdBy . should . be . eql ( type . createdBy ) ; // should not update createdAt
406461 resJson . updatedBy . should . be . eql ( 40051336 ) ; // connect admin
407462 done ( ) ;
0 commit comments