
Not really sure what happened, but clearly when I imported our backend code into our monorepo, it was not the latest version. So I'm fixing this now by putting in the latest code. I will re-apply the changes since later.
195 lines
6 KiB
JavaScript
195 lines
6 KiB
JavaScript
module.exports = function tests(store, config, chai) {
|
|
const should = chai.should()
|
|
|
|
describe('Person endpoints', () => {
|
|
it('should create a person', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.post('/people')
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.send({
|
|
name: 'Test person',
|
|
units: 'imperial',
|
|
breasts: true
|
|
})
|
|
.end((err, res) => {
|
|
res.should.have.status(200)
|
|
let data = JSON.parse(res.text)
|
|
data.person.breasts.should.be.true
|
|
data.person.units.should.equal('imperial')
|
|
data.person.name.should.equal('Test person')
|
|
data.person.pictureUris.xs
|
|
.split('/')
|
|
.pop()
|
|
.should.equal(data.person.handle + '.svg')
|
|
config.user.person = data.person.handle
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should update the person name', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.put('/people/' + config.user.person)
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.send({
|
|
name: 'New person name'
|
|
})
|
|
.end((err, res) => {
|
|
res.should.have.status(200)
|
|
let data = JSON.parse(res.text)
|
|
data.person.name.should.equal('New person name')
|
|
data.person.handle.should.equal(config.user.person)
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should update the person chest', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.put('/people/' + config.user.person)
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.send({
|
|
breasts: 'false'
|
|
})
|
|
.end((err, res) => {
|
|
res.should.have.status(200)
|
|
let data = JSON.parse(res.text)
|
|
data.person.breasts.should.be.false
|
|
data.person.handle.should.equal(config.user.person)
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should update the person units', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.put('/people/' + config.user.person)
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.send({
|
|
units: 'metric'
|
|
})
|
|
.end((err, res) => {
|
|
res.should.have.status(200)
|
|
let data = JSON.parse(res.text)
|
|
data.person.units.should.equal('metric')
|
|
data.person.handle.should.equal(config.user.person)
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should update the person notes', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.put('/people/' + config.user.person)
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.send({
|
|
notes: 'These are the notes'
|
|
})
|
|
.end((err, res) => {
|
|
res.should.have.status(200)
|
|
let data = JSON.parse(res.text)
|
|
data.person.notes.should.equal('These are the notes')
|
|
data.person.handle.should.equal(config.user.person)
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should update the person measurements', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.put('/people/' + config.user.person)
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.send({
|
|
measurements: {
|
|
shoulderToShoulder: 456,
|
|
neck: 345
|
|
}
|
|
})
|
|
.end((err, res) => {
|
|
res.should.have.status(200)
|
|
let data = JSON.parse(res.text)
|
|
data.person.measurements.shoulderToShoulder.should.equal(456)
|
|
data.person.measurements.neck.should.equal(345)
|
|
data.person.handle.should.equal(config.user.person)
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should not set a non-existing measurement', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.put('/people/' + config.user.person)
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.send({
|
|
measurements: {
|
|
hairLength: 12
|
|
}
|
|
})
|
|
.end((err, res) => {
|
|
res.should.have.status(200)
|
|
let data = JSON.parse(res.text)
|
|
should.not.exist(data.person.measurements.hairLength)
|
|
data.person.measurements.shoulderToShoulder.should.equal(456)
|
|
data.person.measurements.neck.should.equal(345)
|
|
data.person.handle.should.equal(config.user.person)
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should update the person avatar', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.put('/people/' + config.user.person)
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.send({
|
|
picture: config.avatar
|
|
})
|
|
.end((err, res) => {
|
|
res.should.have.status(200)
|
|
let data = JSON.parse(res.text)
|
|
data.person.measurements.shoulderToShoulder.should.equal(456)
|
|
data.person.measurements.neck.should.equal(345)
|
|
data.person.handle.should.equal(config.user.person)
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should load the person data', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.get('/people/' + config.user.person)
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.end((err, res) => {
|
|
res.should.have.status(200)
|
|
let data = JSON.parse(res.text)
|
|
data.person.measurements.shoulderToShoulder.should.equal(456)
|
|
data.person.measurements.neck.should.equal(345)
|
|
data.person.handle.should.equal(config.user.person)
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should delete the person', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.delete('/people/' + config.user.person)
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.end((err, res) => {
|
|
res.should.have.status(204)
|
|
done()
|
|
})
|
|
})
|
|
|
|
it('should no longer have this person', done => {
|
|
chai
|
|
.request(config.backend)
|
|
.get('/people/' + config.user.person)
|
|
.set('Authorization', 'Bearer ' + config.user.token)
|
|
.end((err, res) => {
|
|
res.should.have.status(404)
|
|
done()
|
|
})
|
|
})
|
|
})
|
|
}
|