tests added!
|
|
@ -5,10 +5,10 @@
|
|||
"engines": {
|
||||
"node": "12.x"
|
||||
},
|
||||
"main": "index.js",
|
||||
"main": "src/index.js",
|
||||
"scripts": {
|
||||
"start": "node index.js",
|
||||
"test": "node test.js"
|
||||
"start": "node src/index.js",
|
||||
"test": "node_modules/.bin/tape test/*.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"bcrypt": "^3.0.7",
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"request": "^2.81.0",
|
||||
"tape": "^4.7.0"
|
||||
"tape": "^4.11.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
|
|||
|
|
@ -8,9 +8,8 @@ const PORT = process.env.PORT || 5000
|
|||
const logins = new Map();
|
||||
logins.set("sander", "$2b$10$6P.6pE7M/6C9l/xXKDxJFucTL313GwESnhZ3aAqtVnv.ouLca/y6a");
|
||||
|
||||
|
||||
express()
|
||||
.use(express.urlencoded())
|
||||
.use(express.urlencoded({ extended: true }))
|
||||
.use(express.static(path.join(__dirname, '/public')))
|
||||
.set('views', path.join(__dirname, 'views'))
|
||||
.set('view engine', 'ejs')
|
||||
|
|
@ -36,6 +35,8 @@ function appendToStorage(req, res) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function sendData(req, res) {
|
||||
fs.readFile("dat", (err, data) => {
|
||||
if (err) {
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
|
@ -24,17 +24,17 @@ function handle(event, next) {
|
|||
}
|
||||
|
||||
function happy() {
|
||||
emotion().value = "happy";
|
||||
emotion().value = "3";
|
||||
submit();
|
||||
}
|
||||
|
||||
function unsure() {
|
||||
emotion().value = "unsure"
|
||||
emotion().value = "2"
|
||||
submit();
|
||||
}
|
||||
|
||||
function sad() {
|
||||
emotion().value = "sad";
|
||||
emotion().value = "1";
|
||||
submit();
|
||||
}
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ function emotion() {
|
|||
}
|
||||
|
||||
function submit() {
|
||||
get('#timestamp').value = Date.now();
|
||||
get('#timestamp').value = formatDate(new Date());
|
||||
get('#emotionsForm').submit;
|
||||
}
|
||||
|
||||
|
|
@ -62,5 +62,12 @@ function getValue(element) {
|
|||
}
|
||||
|
||||
function setHtml(element, innerHtml) {
|
||||
return get(element).innerHTML=innerHtml;
|
||||
let object = get(element);
|
||||
if (object){
|
||||
object.innerHTML=innerHtml;
|
||||
}
|
||||
}
|
||||
|
||||
function formatDate(date){
|
||||
return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
|
||||
}
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
|
@ -1,2 +1,2 @@
|
|||
<link rel="stylesheet" type="text/css" href="/stylesheets/stoplicht.css" />
|
||||
<title>Bisons stoplicht</title>
|
||||
<title>Verkeerslicht</title>
|
||||
62
test/test.js
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
const {spawn} = require('child_process');
|
||||
const request = require('request');
|
||||
const test = require('tape');
|
||||
|
||||
const env = Object.assign({}, process.env, {PORT: 5000});
|
||||
|
||||
test('main page', (assert) => {
|
||||
const server = spawn('node', ['src/index.js'], {env});
|
||||
server.stdout.on('data', _ => {
|
||||
request('http://127.0.0.1:5000', (error, response, body) => {
|
||||
server.kill();
|
||||
assert.false(error,"geen errors");
|
||||
assert.equal(response.statusCode, 200, "http ok");
|
||||
|
||||
assert.notEqual(body.indexOf("<title>Verkeerslicht</title>"), -1, "correcte title");
|
||||
assert.notEqual(body.indexOf("Wat is je gevoel vandaag?"), -1, "systeem vraagt om input'");
|
||||
assert.end();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test('submit emotion', (assert) => {
|
||||
const server = spawn('node', ['src/index.js'], {env});
|
||||
server.stdout.on('data', _ => {
|
||||
request.post({url: 'http://127.0.0.1:5000/submit-form', form:{username:'sander', password:'boompje', emotion:1, timestamp: '20191212' }}, (error, response, body) => {
|
||||
server.kill();
|
||||
assert.false(error,"geen errors");
|
||||
assert.equal(response.statusCode, 200, "http ok");
|
||||
|
||||
assert.notEqual(body.indexOf("Dankje!"), -1, "systeem meldt 'dankje!'");
|
||||
assert.end();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test('get data', (assert) => {
|
||||
const server = spawn('node', ['src/index.js'], {env});
|
||||
server.stdout.on('data', _ => {
|
||||
request.post({url: 'http://127.0.0.1:5000/submit-form', form:{username:'sander', password:'boompje', emotion:1, timestamp: '20191212' }});
|
||||
request('http://127.0.0.1:5000/data', (error, response, body) => {
|
||||
server.kill();
|
||||
assert.false(error,"geen errors");
|
||||
assert.equal(response.statusCode, 200, "http ok");
|
||||
|
||||
assert.notEqual(body.indexOf("20191212, sander, 1\n"), -1, "data bevat de juiste waarde");
|
||||
assert.end();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test('empty submit error', (assert) => {
|
||||
const server = spawn('node', ['src/index.js'], {env});
|
||||
server.stdout.on('data', _ => {
|
||||
request.post({url: 'http://127.0.0.1:5000/submit-form', form:{}}, (error, response, body) => {
|
||||
server.kill();
|
||||
assert.false(error,"geen errors");
|
||||
assert.equal(response.statusCode, 500, "http 500 want form is leeg");
|
||||
assert.end();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||