diff --git a/core/models/answer.js b/core/models/answer.js
index d53bfe4..6ee6847 100644
--- a/core/models/answer.js
+++ b/core/models/answer.js
@@ -27,12 +27,14 @@ module.exports = class Answer {
}
async getAnswersByQuestion(id) {
- try {
- const sql = `SELECT * FROM answers WHERE question_id = "${id}";`
- const answers = await this.db.all(sql)
- return answers
- } catch (err) {
- throw err
- }
+ const sql = `SELECT answers.*, users.name AS user_name FROM answers
+ INNER JOIN users ON users.id = answers.user_id WHERE question_id = "${id}";`
+ const answers = await this.db.all(sql)
+ return answers
+ }
+
+ async __testData() {
+ await this.db.run(table.createUsersTable())
+ await this.db.run('INSERT INTO users(name, username, password) VALUES("Wallef", "username", "password");')
}
}
diff --git a/core/views/answer.hbs b/core/views/answer.hbs
index 601ec3a..e12c808 100644
--- a/core/views/answer.hbs
+++ b/core/views/answer.hbs
@@ -18,7 +18,7 @@
{{ body }}
{{ date }}
- {{ user_id }}
+ {{ user_name }}
{{/each}}
diff --git a/unit test/answer.spec.js b/unit test/answer.spec.js
index 2422e01..460920b 100644
--- a/unit test/answer.spec.js
+++ b/unit test/answer.spec.js
@@ -28,14 +28,14 @@ describe('Create()', () => {
test('Empty answer', async done => {
expect.assertions(1)
- //Arrange
+ // Arrange
const answer = await new Answer()
const request = {
body: {body: ''},
parameters: {question_id: 1},
session: {user: {id: 1}}
}
- //Act & Assert
+ // Act & Assert
await expect(answer.createAnswer(request, '21/11/2019')).rejects.toEqual(Error('Answer cannot be empty!'))
done()
})
@@ -43,13 +43,14 @@ describe('Create()', () => {
describe('getAnswersByQuestion()', () => {
test('Get all answers from a question', async done => {
- expect.assertions(4)
- //Arrange
+ expect.assertions(5)
+ // Arrange
const answer = await new Answer()
+ await answer.__testData()
const request = {
body: {body: 'Getting Answers'},
parameters: {question_id: 3},
- session: {user: {id: 2}}
+ session: {user: {id: 1}}
}
// Act
await answer.createAnswer(request, '21/11/2019')
@@ -58,7 +59,8 @@ describe('getAnswersByQuestion()', () => {
expect(data[0].body).toBe('Getting Answers')
expect(data[0].date).toBe('21/11/2019')
expect(data[0].question_id).toBe(3)
- expect(data[0].user_id).toBe(2)
+ expect(data[0].user_id).toBe(1)
+ expect(data[0].user_name).toBe('Wallef')
done()
})
})