Skip to content

Commit

Permalink
add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
avanelli committed Nov 25, 2022
1 parent ce5a901 commit d5621aa
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 0 deletions.
17 changes: 17 additions & 0 deletions test/routes/tags.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
'use strict'
const t = require('tap')
const startServer = require('../setup-server')

t.test('requests the "/tags" route', async t => {
const server = await startServer()
t.teardown(() => server.close())

const response = await server.inject({
method: 'GET',
url: '/api/tags'
})

t.equal(response.statusCode, 200, 'returns a status code of 200')
t.equal(JSON.parse(response.body).tags.length, 0, 'returns an empty array')
t.end()
})
15 changes: 15 additions & 0 deletions test/routes/users.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
'use strict'
const t = require('tap')
const startServer = require('../setup-server')

t.test('get current user without login', async t => {
const server = await startServer()
t.teardown(() => server.close())

const response = await server.inject({
method: 'GET',
url: '/api/user'
})
t.equal(response.statusCode, 401, 'returns a status code of 401 Unauthorized')
t.end()
})
29 changes: 29 additions & 0 deletions test/server.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
'use strict'
const t = require('tap')
const startServer = require('./setup-server')

t.test('requests the "/" route', async t => {
const server = await startServer()
t.teardown(() => server.close())

const response = await server.inject({
method: 'GET',
url: '/api/articles'
})

t.equal(response.statusCode, 200, 'returns a status code of 200')
t.end()
})

t.test('requests not existing route', async t => {
const server = await startServer()
t.teardown(() => server.close())

const response = await server.inject({
method: 'GET',
url: '/dummy'
})

t.equal(response.statusCode, 404, 'returns a status code of 404')
t.end()
})
16 changes: 16 additions & 0 deletions test/setup-server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const getConfig = require('../lib/config/config')
const startServer = require('../lib/server')

const start = async () => {
process.on('unhandledRejection', (err) => {
console.error(err)
process.exit(1)
})
const config = await getConfig()
config.fastifyInit.logger.level = 'silent'
const server = require('fastify')(config.fastifyInit)
server.register(startServer, config)
return server
}

module.exports = start

0 comments on commit d5621aa

Please sign in to comment.