mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-14 07:00:01 -04:00
Anonymous users can have the same name
This commit is contained in:
parent
ea4523bf6a
commit
a8353cb7ff
2 changed files with 17 additions and 25 deletions
|
@ -41,7 +41,7 @@ module.exports.NamedPlugin = (schema) ->
|
|||
err.response = {message: ' is a reserved name', property: 'name'}
|
||||
err.code = 422
|
||||
return next(err)
|
||||
if newSlug isnt @get('slug')
|
||||
if newSlug not in [@get('slug'), ""] and not @get 'anonymous'
|
||||
@set('slug', newSlug)
|
||||
@checkSlugConflicts(next)
|
||||
else
|
||||
|
|
|
@ -44,6 +44,20 @@ describe 'User.updateMailChimp', ->
|
|||
|
||||
describe 'POST /db/user', ->
|
||||
|
||||
createAnonNameUser = (name, done)->
|
||||
request.post getURL('/auth/logout'), ->
|
||||
request.get getURL('/auth/whoami'), ->
|
||||
req = request.post(getURL('/db/user'), (err, response) ->
|
||||
expect(response.statusCode).toBe(200)
|
||||
request.get getURL('/auth/whoami'), (request, response, body) ->
|
||||
res = JSON.parse(response.body)
|
||||
expect(res.anonymous).toBeTruthy()
|
||||
expect(res.name).toEqual(name)
|
||||
done()
|
||||
)
|
||||
form = req.form()
|
||||
form.append('name', name)
|
||||
|
||||
it 'preparing test : clears the db first', (done) ->
|
||||
clearModels [User], (err) ->
|
||||
throw err if err
|
||||
|
@ -91,32 +105,10 @@ describe 'POST /db/user', ->
|
|||
done()
|
||||
|
||||
it 'should allow setting anonymous user name', (done) ->
|
||||
request.post getURL('/auth/logout'), ->
|
||||
request.get getURL('/auth/whoami'), ->
|
||||
req = request.post(getURL('/db/user'), (err, response) ->
|
||||
expect(response.statusCode).toBe(200)
|
||||
request.get getURL('/auth/whoami'), (request, response, body) ->
|
||||
res = JSON.parse(response.body)
|
||||
expect(res.anonymous).toBeTruthy()
|
||||
expect(res.name).toEqual('Jim')
|
||||
done()
|
||||
)
|
||||
form = req.form()
|
||||
form.append('name', 'Jim')
|
||||
createAnonNameUser('Jim', done)
|
||||
|
||||
it 'should not allow multiple anonymous users with same name anymore', (done) ->
|
||||
request.post getURL('/auth/logout'), ->
|
||||
request.get getURL('/auth/whoami'), ->
|
||||
req = request.post(getURL('/db/user'), (err, response) ->
|
||||
expect(response.statusCode).toBe(409)
|
||||
request.get getURL('/auth/whoami'), (request, response, body) ->
|
||||
res = JSON.parse(response.body)
|
||||
expect(res.anonymous).toBeTruthy()
|
||||
expect(res.name).not.toEqual('Jim')
|
||||
done()
|
||||
)
|
||||
form = req.form()
|
||||
form.append('name', 'Jim')
|
||||
createAnonNameUser('Jim', done)
|
||||
|
||||
it 'should not allow setting existing user name to anonymous user', (done) ->
|
||||
|
||||
|
|
Loading…
Reference in a new issue