Skip to content
Snippets Groups Projects
Commit f3320812 authored by Lehtinen Teemu's avatar Lehtinen Teemu
Browse files

Refactor names

parent 2049591f
No related branches found
No related tags found
No related merge requests found
File moved
......@@ -4,12 +4,12 @@
var nj = require('nunjucks');
var fs = require('fs');
var WEBDEVIwdap = function () {};
var AcosMod = function () {};
var baseDir = __dirname;
var content = JSON.parse(fs.readFileSync(baseDir + '/content/inspector.json', 'utf8'));
var content = JSON.parse(fs.readFileSync(baseDir + '/content.json', 'utf8'));
WEBDEVIwdap.initialize = function (req, params, handlers, cb) {
AcosMod.initialize = function (req, params, handlers, cb) {
var templateDir = baseDir + '/templates/';
nj.configure(templateDir, { autoescape: false });
var config = content[params.name];
......@@ -18,7 +18,7 @@ WEBDEVIwdap.initialize = function (req, params, handlers, cb) {
config.html = nj.render(config.template, config);
}
var templateParam = {
id: 'acos-webdev-iwdap-' + params.name,
id: 'acos-webdev-inspector-' + params.name,
config: JSON.stringify(config),
acceptTest: config.acceptTest,
pointsCalculator: config.pointsCalculator
......@@ -28,18 +28,18 @@ WEBDEVIwdap.initialize = function (req, params, handlers, cb) {
cb();
};
WEBDEVIwdap.register = function (handlers, app, conf) {
handlers.contentPackages['webdev-iwdap'] = WEBDEVIwdap;
handlers.contentTypes.webdev.installedContentPackages.push(WEBDEVIwdap);
AcosMod.register = function (handlers, app, conf) {
handlers.contentPackages['webdev-inspector'] = AcosMod;
handlers.contentTypes.webdev.installedContentPackages.push(AcosMod);
};
WEBDEVIwdap.namespace = 'webdev-iwdap';
WEBDEVIwdap.contentTypeNamespace = 'webdev';
WEBDEVIwdap.packageType = 'content';
AcosMod.namespace = 'webdev-inspector';
AcosMod.contentTypeNamespace = 'webdev';
AcosMod.packageType = 'content';
WEBDEVIwdap.meta = {
'name': 'webdev-iwdap',
'shortDescription': 'Exercise package for web development.',
AcosMod.meta = {
'name': 'webdev-inspector',
'shortDescription': 'Exercise package using web browser inspector tool.',
'description': '',
'author': 'Lassi Haaranen & Teemu Lehtinen',
'license': 'MIT',
......@@ -49,4 +49,4 @@ WEBDEVIwdap.meta = {
'contents': content
};
module.exports = WEBDEVIwdap;
module.exports = AcosMod;
{
"name": "acos-webdev-iwdap",
"name": "acos-webdev-inspector",
"version": "0.1.0",
"description": "Webdev content package for introduction to web",
"description": "Exercise package using web browser inspector tool",
"main": "index.js",
"scripts": {},
"keywords": [],
......
describe('acos-webdev-iwdap', function () {
let chai = require('chai');
chai.should();
it('should be displayed on the frontpage', function () {
return browser
.url('http://localhost:3000')
.getText('.container').then(function (text) {
text.should.contain('webdev-iwdap');
describe('Content module acos-webdev-inspector', () => {
describe('Frontpage block', () => {
it('should exist once and have teaser links', () => {
browser.url('/');
let matches = browser.$$('.contentPackage')
.filter(div => div.$('.packageTitle').getText() == 'webdev-inspector');
matches.should.have.lengthOf(1);
let items = matches[0].$$('.teaserContent a');
items.should.not.have.lengthOf(0);
});
});
describe('Exercise hidden_button', () => {
it('exercise page should open', () => {
browser.url('/html/webdev/webdev-inspector/hidden_button');
});
it('should start with zero grade', () => {
let points = browser.$$('.guide-column .points');
points.should.have.lengthOf(1);
points[0].getText().should.equal('0 / 10 p.');
});
it('should include hidden button', () => {
let buttons = browser.$$('.exercise button');
buttons.should.have.lengthOf(1);
buttons[0].isDisplayed().should.be.false;
});
it('hidden_button and delete_element should show up on the frontpage', function () {
return browser
.url('http://localhost:3000')
.getText('.container').then(function (text) {
text.should.contain('hidden_button');
text.should.contain('delete_element');
it('button should be set visible and then clicked', () => {
browser.execute(() => {
document.querySelector('.exercise button').removeAttribute('style')
});
let button = browser.$('.exercise button');
button.isDisplayed().should.be.true;
button.click();
browser.waitUntil(() => $$('.explosion').length == 0, 4000, 'expected explosion effect pass');
});
it('should now display full grade', () => {
let points = browser.$$('.guide-column .points');
points.should.have.lengthOf(1);
points[0].getText().should.equal('10 / 10 p.');
points[0].getAttribute('class').should.contain('green');
});
it('hidden_button should grade correct attempts', function () {
return browser
.url('/html/webdev/webdev-iwdap/hidden_button')
.isVisible('#acos-webdev-iwdap-hidden_button .exercise button').then(function (vis) {
vis.should.be.equal(false);
})
.getText('#acos-webdev-iwdap-hidden_button .points').then(function (text) {
text.should.contain('0 / 10')
})
.click('#acos-webdev-iwdap-hidden_button .exercise button')
.getText('#acos-webdev-iwdap-hidden_button .points').then(function (text) {
text.should.contain('10 / 10')
})
.getAttribute('#acos-webdev-iwdap-hidden_button', 'class').then(function (classes) {
classes.should.contain('green');
it('reset button should exist and be clicked', () => {
let buttons = browser.$$('.guide-column .reset-button');
buttons.should.have.lengthOf(1);
buttons[0].click();
browser.execute(() => {
document.querySelector('.exercise'); // Just to force some js execution.
});
});
it('state should have now reset to initial', () => {
let buttons = browser.$$('.exercise button');
buttons.should.have.lengthOf(1);
buttons[0].isDisplayed().should.be.false;
let points = browser.$$('.guide-column .points');
points.should.have.lengthOf(1);
points[0].getText().should.equal('0 / 10 p.');
points[0].getAttribute('class').should.not.contain('green');
});
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment