93 lines
3.3 KiB
CoffeeScript
93 lines
3.3 KiB
CoffeeScript
require('./helpers')
|
|
|
|
should = require('should')
|
|
alts = require('../server/alts')
|
|
|
|
describe "Alts", ->
|
|
describe '#isAltNameValid', ->
|
|
it 'allows alphanumeric and - and _ characters', ->
|
|
alts.isAltNameValid("im-DA_best 251").should.be.true
|
|
|
|
it 'blocks invalid alt names', ->
|
|
alts.isAltNameValid().should.be.false
|
|
alts.isAltNameValid("").should.be.false
|
|
alts.isAltNameValid("itsme:").should.be.false
|
|
alts.isAltNameValid("Blue Kirby").should.be.false
|
|
alts.isAltNameValid(("a" for x in [0...16]).join('')).should.be.false
|
|
|
|
describe '#createAlt', ->
|
|
it 'creates a new alt', (done) ->
|
|
alts.createAlt "player1", "TEST", (err) ->
|
|
should.not.exist(err)
|
|
alts.listUserAlts "player1", (err, results) ->
|
|
results.length.should.eql 1
|
|
done()
|
|
|
|
it 'fails if the alt name is already being used', (done) ->
|
|
alts.createAlt "player1", "TEST", ->
|
|
alts.createAlt "player1", "TEST", (err) ->
|
|
should.exist(err)
|
|
done()
|
|
|
|
it 'fails if the user already has 5 alts', (done) ->
|
|
alts.createAlt "player1", "TEST1", (err) ->
|
|
should.not.exist(err)
|
|
alts.createAlt "player1", "test2", (err) ->
|
|
should.not.exist(err)
|
|
alts.createAlt "player1", "test3", (err) ->
|
|
should.not.exist(err)
|
|
alts.createAlt "player1", "test4", (err) ->
|
|
should.not.exist(err)
|
|
alts.createAlt "player1", "test5", (err) ->
|
|
should.not.exist(err)
|
|
alts.createAlt "player1", "test6", (err) ->
|
|
should.exist(err)
|
|
done()
|
|
|
|
describe '#listUserAlts', ->
|
|
it 'returns the same number of alts that were created', (done) ->
|
|
alts.createAlt "player1", "TEST1", (err) ->
|
|
alts.createAlt "player1", "test2", (err) ->
|
|
alts.listUserAlts "player1", (err, alts) ->
|
|
["TEST1", "test2"].should.eql(alts)
|
|
done()
|
|
|
|
describe '#isAltOwnedBy', ->
|
|
it 'returns false if the user does not own the alt', (done) ->
|
|
alts.isAltOwnedBy "player1", "test", (err, result) ->
|
|
should.not.exist(err)
|
|
result.should.be.false
|
|
|
|
# make it so another user owns the alt. It should still be false
|
|
alts.createAlt "anotherguy", "test", (err) ->
|
|
should.not.exist(err)
|
|
alts.isAltOwnedBy "player1", "test", (err, result) ->
|
|
should.not.exist(err)
|
|
result.should.be.false
|
|
done()
|
|
|
|
it 'returns true if the user owns the alt', (done) ->
|
|
# make it so another user owns the alt. It should still be false
|
|
alts.createAlt "player1", "test", (err) ->
|
|
should.not.exist(err)
|
|
alts.isAltOwnedBy "player1", "test", (err, result) ->
|
|
should.not.exist(err)
|
|
result.should.be.true
|
|
done()
|
|
|
|
it 'returns true on null alt name', (done) ->
|
|
alts.isAltOwnedBy "player1", null, (err, result) ->
|
|
result.should.be.true
|
|
done()
|
|
|
|
describe '#getIdOwner', ->
|
|
it 'reverses #uniqueId', ->
|
|
id = "atestId"
|
|
uniqueId = alts.uniqueId(id, "altName")
|
|
uniqueId.should.not.equal(id)
|
|
alts.getIdOwner(uniqueId).should.equal(id)
|
|
|
|
it 'returns the given id if the id does not belong to an alt', ->
|
|
id = "atestId"
|
|
alts.getIdOwner(id).should.equal(id)
|