Skip to content

Commit

Permalink
handle error and test for routes
Browse files Browse the repository at this point in the history
Relates #16
  • Loading branch information
fares-webDev committed Aug 21, 2019
1 parent 05d23cb commit fe5a4d9
Show file tree
Hide file tree
Showing 8 changed files with 70 additions and 3 deletions.
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
"scripts": {
"test": "node tests/index.test.js | tap-spec",
"dev": "nodemon src/index.js",
"start": "node src/index.js"
"start": "node src/index.js",
"runBuild": "node src/database/db_build.js"
},
"repository": {
"type": "git",
Expand All @@ -37,4 +38,4 @@
"url": "https://github.com/GSG-G7/Tour-Around/issues"
},
"homepage": "https://github.com/GSG-G7/Tour-Around#readme"
}
}
16 changes: 16 additions & 0 deletions src/controllers/err.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const clientError = (req, res) => {
res.status(404)
.render('clientError');
};


const serverError = (err, req, res, next) => {
res.status(500)
.render('serverError');
};


module.exports = {
clientError,
serverError,
};
4 changes: 4 additions & 0 deletions src/controllers/homeData.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ const postData = (req, res) => {
postUser(req.body)
.then(({ rows }) => postPlace(req.body, rows[0].user_id))
.catch((error) => console.log(error));
getData()
.then(({ rows }) => res.status(200).render('home', { rows }));
};




module.exports = { homeData, postData };
6 changes: 5 additions & 1 deletion src/controllers/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
const router = require('express').Router();

const {homeData, postData} = require('./homeData');
const { homeData, postData } = require('./homeData');
const { clientError, serverError } = require('./err');

router.get('/', homeData);
router.post('/postPlace', postData);

router.use(clientError);
router.use(serverError);

module.exports = router;
1 change: 1 addition & 0 deletions src/views/clientError.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<p>Client Error</p>
2 changes: 2 additions & 0 deletions src/views/serverError.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<p>Server Error</p>
<img src="data:image/jpeg;base64,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" alt="" class="src">
1 change: 1 addition & 0 deletions tests/index.test.js
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
const { test1 } = require('./functions.test');
require('./routes.test');
38 changes: 38 additions & 0 deletions tests/routes.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
const test = require('tape');
const supertest = require('supertest');
const app = require('./../src/app');

test('Status Code equal 200', (t) => {
supertest(app)
.get('/')
.expect(200)
.expect('content-type', /html/)
.end((err, res) => {
t.error(err);
t.equal(res.text.includes('<h1> Hi Team</h1>'), true, 'The page should have a heading tag');
t.end();
});
});


test('post', (t) => {
supertest(app)
.post('/postPlace')
.send({
userName: 'yosef',
email: '[email protected]',
phone: '45646',
placeName: 'take',
location: 'gaza',
service: 'food',
delivery: false,
img: 'https://www.google.com'
})
.expect(201)
.expect('content-type', /html/)
.end((err, res) => {
// t.error(err);
console.log(res.body);
t.end();
});
});

0 comments on commit fe5a4d9

Please sign in to comment.