You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.7 KiB
JavaScript
99 lines
2.7 KiB
JavaScript
/* global before, after */
|
|
const Random = require('mockjs').Random
|
|
module.exports = {
|
|
mockUsers: () => [{}, {}, {}, {}, {}].map(item => (
|
|
{
|
|
fullname: Random.cname(),
|
|
email: Random.email(),
|
|
password: Random.word(6)
|
|
}
|
|
)),
|
|
mockRepository: () => (
|
|
{
|
|
name: '测试用例_临时_' + Random.ctitle(6) + Math.random(),
|
|
description: Random.cparagraph(),
|
|
logo: Random.url()
|
|
}
|
|
),
|
|
prepare: (request, should, users, repository) => {
|
|
users.forEach((item, index) => {
|
|
before(done => {
|
|
request.post('/account/register').send(item).expect(200)
|
|
.end((err, res) => {
|
|
should.not.exist(err)
|
|
Object.assign(item, res.body.data)
|
|
done()
|
|
})
|
|
})
|
|
})
|
|
before(done => {
|
|
request.post('/account/login')
|
|
.send({ email: users[0].email, password: users[0].password })
|
|
.expect('Content-Type', /json/)
|
|
.expect(200)
|
|
.end((err, res) => {
|
|
should.not.exist(err)
|
|
let { data } = res.body
|
|
data.should.be.a('object').have.all.keys({ id: users[0].id, fullname: users[0].fullname, email: users[0].email })
|
|
done()
|
|
})
|
|
})
|
|
if (repository) {
|
|
before(done => {
|
|
request.post('/repository/create')
|
|
.send(
|
|
Object.assign(repository, {
|
|
organizationId: undefined,
|
|
memberIds: users.slice(2).map(item => item.id)
|
|
})
|
|
)
|
|
.expect('Content-Type', /json/)
|
|
.expect(200)
|
|
.end((err, res) => {
|
|
should.not.exist(err)
|
|
Object.assign(repository, res.body.data)
|
|
done()
|
|
})
|
|
})
|
|
after(done => {
|
|
request.get('/repository/remove')
|
|
.query({ id: repository.id })
|
|
.expect('Content-Type', /json/)
|
|
.expect(200)
|
|
.end((err, res) => {
|
|
should.not.exist(err)
|
|
res.body.data.should.eq(1)
|
|
done()
|
|
})
|
|
})
|
|
}
|
|
after(done => {
|
|
request.get('/account/logout')
|
|
.expect('Content-Type', /json/)
|
|
.expect(200)
|
|
.end((err, res) => {
|
|
should.not.exist(err)
|
|
done()
|
|
})
|
|
})
|
|
users.forEach((item, index) => {
|
|
after(done => {
|
|
request.get('/account/remove').query({ id: users[index].id }).expect(200)
|
|
.end((err, res) => {
|
|
should.not.exist(err)
|
|
res.body.data.should.eq(1)
|
|
done()
|
|
})
|
|
})
|
|
})
|
|
},
|
|
keys: {
|
|
pagination: ['cursor', 'limit', 'total']
|
|
},
|
|
excludes: {
|
|
user: ['password', 'create_date', 'update_date', 'delete_date', 'reserve'],
|
|
organization: [],
|
|
repository: ['create_date', 'update_date', 'delete_date', 'reserve']
|
|
}
|
|
}
|