tests added!
|
|
@ -5,10 +5,10 @@
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "12.x"
|
"node": "12.x"
|
||||||
},
|
},
|
||||||
"main": "index.js",
|
"main": "src/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node index.js",
|
"start": "node src/index.js",
|
||||||
"test": "node test.js"
|
"test": "node_modules/.bin/tape test/*.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bcrypt": "^3.0.7",
|
"bcrypt": "^3.0.7",
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"request": "^2.81.0",
|
"request": "^2.81.0",
|
||||||
"tape": "^4.7.0"
|
"tape": "^4.11.0"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,8 @@ const PORT = process.env.PORT || 5000
|
||||||
const logins = new Map();
|
const logins = new Map();
|
||||||
logins.set("sander", "$2b$10$6P.6pE7M/6C9l/xXKDxJFucTL313GwESnhZ3aAqtVnv.ouLca/y6a");
|
logins.set("sander", "$2b$10$6P.6pE7M/6C9l/xXKDxJFucTL313GwESnhZ3aAqtVnv.ouLca/y6a");
|
||||||
|
|
||||||
|
|
||||||
express()
|
express()
|
||||||
.use(express.urlencoded())
|
.use(express.urlencoded({ extended: true }))
|
||||||
.use(express.static(path.join(__dirname, '/public')))
|
.use(express.static(path.join(__dirname, '/public')))
|
||||||
.set('views', path.join(__dirname, 'views'))
|
.set('views', path.join(__dirname, 'views'))
|
||||||
.set('view engine', 'ejs')
|
.set('view engine', 'ejs')
|
||||||
|
|
@ -36,6 +35,8 @@ function appendToStorage(req, res) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function sendData(req, res) {
|
function sendData(req, res) {
|
||||||
fs.readFile("dat", (err, data) => {
|
fs.readFile("dat", (err, data) => {
|
||||||
if (err) {
|
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() {
|
function happy() {
|
||||||
emotion().value = "happy";
|
emotion().value = "3";
|
||||||
submit();
|
submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
function unsure() {
|
function unsure() {
|
||||||
emotion().value = "unsure"
|
emotion().value = "2"
|
||||||
submit();
|
submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
function sad() {
|
function sad() {
|
||||||
emotion().value = "sad";
|
emotion().value = "1";
|
||||||
submit();
|
submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -43,7 +43,7 @@ function emotion() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
get('#timestamp').value = Date.now();
|
get('#timestamp').value = formatDate(new Date());
|
||||||
get('#emotionsForm').submit;
|
get('#emotionsForm').submit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -62,5 +62,12 @@ function getValue(element) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setHtml(element, innerHtml) {
|
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" />
|
<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();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||