Tell us what’s happening:
Hi everyone i am running the project locally please see code below…
when i run the tests all tests are passing besides the first 1
this is the error message i recive
2 failing
- Functional Tests with Zombie.js
“Famous Italian Explorers” form
Submit the surname “Colombo” in the HTML form:
AssertionError [ERR_ASSERTION]: No open window with an HTML document
please assist i have been stuck for 2 days now
Your project link(s)
solution: http://localhost:3000
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36
Challenge: Quality Assurance and Testing with Chai - Run Functional Tests Using a Headless Browser
Link to the challenge:
Hi everyone i am running the project locally please see code below…
when i run the tests all tests are passing besides the first 1
this is the error message i recive
2 failing
- Functional Tests with Zombie.js
“Famous Italian Explorers” form
Submit the surname “Colombo” in the HTML form:
AssertionError [ERR_ASSERTION]: No open window with an HTML document
please assist i have been stuck for 2 days now
const chai = require('chai');
const assert = chai.assert;
const server = require('../server');
const chaiHttp = require('chai-http');
chai.use(chaiHttp);
suite('Functional Tests', function () {
this.timeout(5000);
suite('Integration tests with chai-http', function () {
// #1
test('Test GET /hello with no name', function (done) {
chai
.request(server)
.get('/hello')
.end(function (err, res) {
assert.equal(res.status, 200);
assert.equal(res.text, 'hello Guest');
done();
});
});
// #2
test('Test GET /hello with your name', function (done) {
chai
.request(server)
.get('/hello?name=xy_z')
.end(function (err, res) {
assert.equal(res.status, 200);
assert.equal(res.text, 'hello xy_z');
done();
});
});
// #3
test('Send {surname: "Colombo"}', function (done) {
chai
.request(server)
.put('/travellers')
.send({
surname: "Colombo",
})
.end(function (err, res) {
assert.equal(res.status, 200)
assert.equal(res.type, 'application/json')
assert.equal(res.body.name, 'Cristoforo')
assert.equal(res.body.surname, 'Colombo')
done();
});
});
// #4
test('Send {surname: "da Verrazzano"}', function (done) {
chai
.request(server)
.put('/travellers')
.send({
"surname": "da Verrazzano"
})
.end((err, res)=> {
assert.equal(res.status, 200)
assert.equal(res.type, 'application/json')
assert.equal(res.body.name, 'Giovanni')
assert.equal(res.body.surname, 'da Verrazzano')
done();
})
});
});
});
const Browser = require('zombie');
Browser.site = 'http://localhost:3000/'; // Your URL here
suite('Functional Tests with Zombie.js', function () {
this.timeout(5000);
console.log('starting...')
const browser = new Browser();
suite('Headless browser', function () {
test('should have a working "site" property', function() {
suiteSetup(function(done) {
return browser.visit('/', done);
});
assert.isNotNull(browser.site);
});
});
suite('"Famous Italian Explorers" form', function () {
// #5
test('Submit the surname "Colombo" in the HTML form', function (done) {
browser.fill('surname', 'Polo').then(() => {
browser.pressButton('submit', () => {
browser.assert.success();
browser.assert.text('span#name', 'Cristoforo');
browser.assert.text('span#surname', 'Colombo');
browser.assert.elements('span#dates', 1);
done();
});
});
});
// #6
test('Submit the surname "Vespucci" in the HTML form', function (done) {
assert.fail();
done();
});
});
});