Test 2
Sets up mocha boilerplate for the browser, making it ready to test. To use just "Run" the code. Add your javascript and tests in the javascript panel.
by Shawn Wood
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/1.10.0/chai.min.js"></script>
<!-- Container for the test results -->
<div id="mocha"></div>
JavaScript
// Configure Mocha and Chai to use BDD-style tests
mocha.setup("bdd");
var assert = chai.assert;
var expect = chai.expect;
var should = chai.should();
/** Returns a string composed of the first two letters from each of name and surname followed by age
* @name solution
* @param {String} name - Name example: "John"
* @param {String} surname - Surname Example: "Firebird"
* @param {integer} age - Age Example: 8
*/
function solution(name, surname, age) {
// write your code in JavaScript (Node.js 8.9.4)
let result = "";
if ((name.length >= 2 && name.length <= 20) && (surname.length >= 2 && surname.length <= 20)) {
let nameArr = name.split('', 2);
let surnameArr = surname.split('', 2);
for (let i = 0; i < nameArr.length; i++) {
result += nameArr[i];
}
for (let i = 0; i < surnameArr.length; i++) {
result += surnameArr[i];
}
}
if(Number.isInteger(age) && (age >= 1 && age <= 200)){
result += age;
}
return result;
}
// Write tests here
describe('JoFi8', function() {
let name = "John",
surname = "Firelord",
age = 8
it('Returns "JoFi8"', function() {
expect(solution(name, surname, age)).to.equal('JoFi8');
})
});
describe('Array', function() {
describe('#indexOf()', function() {
it('Returns "-1" when the value is not present', function() {
expect([1, 2, 3].indexOf(5)).to.equal(-1);
expect([1, 2, 3].indexOf(0)).to.equal(-1);
})
})
})
// Run all our tests (only necessary in the browser)
mocha.run();