tests added!

This commit is contained in:
sander.hautvast 2019-12-10 16:41:05 +01:00
parent 5560461058
commit d512989291
18 changed files with 82 additions and 12 deletions

View file

@ -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",

View file

@ -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) {

View file

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -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();
}

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -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
View 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();
});
});
});