Skip to content

Instantly share code, notes, and snippets.

@evanlucas
Last active November 16, 2017 22:54
Show Gist options
  • Save evanlucas/b94f4790707d33019529ba19066a09e8 to your computer and use it in GitHub Desktop.
Save evanlucas/b94f4790707d33019529ba19066a09e8 to your computer and use it in GitHub Desktop.
testing
// After
const {test} = require('tap')
test('GET /users', async (t) => {
const user_state = {}
const {body: org} = await request
.post('/organizations')
.expect(200)
const user_state = {}
for (const user_info of users) {
const {body: user} = await request
.post('/users')
.expect(200)
user_state[user.id] = user
}
const res = await request
.get('/users')
.expect(200)
t.deepEqual(res.body.map((user) => user.id), Object.keys(users).sort())
}).catch(tap.threw)
// Before
const {test} = require('tap')
test('GET /users', (t) => {
const user_state = {}
t.test('setup', (tt) => {
tt.test('create organization', (ttt) => {
request
.post('/organizations')
.expect(200)
.end((err) => {
ttt.error(err)
ttt.end()
})
})
tt.test('create users', (ttt) => {
async.each(users, createUser, (err, users) => {
ttt.error(err)
for (const user of users) {
user_state[user.id] = user
}
ttt.end()
})
})
tt.end()
})
t.test('(200) - success', (tt) => {
request
.get('/users')
.expect(200)
.end((err, res) => {
tt.error(err)
const actual = res.body.map((user) => user.id)
const expected = Object.keys(users).sort()
tt.deepEqual(actual, expected)
for (const user of res.body) {
tt.ok(user_state[user.id])
}
tt.end()
})
})
t.end()
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment