File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -68,18 +68,29 @@ exports.userMeCoursesGET = function (user_id) {
6868 **/
6969exports . userPOST = function ( data ) {
7070 return new Promise ( function ( resolve , reject ) {
71- new User ( data )
72- . save ( )
73- . then ( ( user ) => {
74- let token = jwt . sign ( {
75- id : user . attributes . id
76- } , config . secret , {
77- expiresIn : 86400 // expires in 24 hours
78- } ) ;
79- resolve ( {
80- user : user ,
81- token : token
82- } ) ;
71+ User . where ( { teil_email : data . teil_email } )
72+ . fetch ( )
73+ . then ( ( model ) => {
74+ if ( ! model ) {
75+ new User ( data )
76+ . save ( )
77+ . then ( ( user ) => {
78+ let token = jwt . sign ( {
79+ id : user . attributes . id
80+ } , config . secret , {
81+ expiresIn : 86400 // expires in 24 hours
82+ } ) ;
83+ resolve ( {
84+ user : user ,
85+ token : token
86+ } ) ;
87+ } )
88+ . catch ( ( error ) => {
89+ reject ( error ) ;
90+ } )
91+ } else {
92+ reject ( Errors . conflict ( "POST USER EMAIL" ) )
93+ }
8394 } )
8495 . catch ( ( error ) => {
8596 reject ( error ) ;
Original file line number Diff line number Diff line change @@ -110,4 +110,25 @@ describe('User', () => {
110110 } )
111111 } )
112112 } )
113+ it ( "it should try to create a user with an already used emai and fail" , ( done ) => {
114+ let user = {
115+ teil_vorname : "Peter" ,
116+ teil_nachname : "Lustig" ,
117+ teil_email : "johndoe@vhslq.de" ,
118+ teil_notizen : "Peter's notes" ,
119+ teil_passwort : "hunter22" ,
120+ eingegeben_von_user : 0 ,
121+ eingegeben_am_datum : "2018-01-01" ,
122+ eingegeben_am_zeit : "00:00:00" ,
123+ datenhistory : "Peters's data history"
124+ }
125+ chai . request ( server )
126+ . post ( '/v1/user' )
127+ . set ( "Content-Type" , "application/json" )
128+ . send ( user )
129+ . end ( ( err , res ) => {
130+ res . should . have . status ( 409 ) ;
131+ done ( ) ;
132+ } )
133+ } ) ;
113134} ) ;
You can’t perform that action at this time.
0 commit comments