Тест выдает ошибку
Uncaught ReferenceError: module is not defined
не могу понять как ее устранить
Код тестирования:
const { calculate } = require('./mainScripts');
const { expect } = require("expect");
//_____Тестируем экземпляр класса calculate_____//
describe('Тестируем экземпляр класса', () => {
//_____getAge_____//
test('Проверка на типы данных функции getAge', () => {
expect(calculate.getAge()).toBeTruthy()
expect(typeof calculate.getAge()).toBe('string')
})
test('Выводит ли имя и год рождения', () => {
expect(calculate.getAge()).toBe(`Dmitriy's old is 22 years`)
})
//_____averageMark_____//
test('Проверка на типы данных функции averageMark', () => {
expect(calculate.averageMark()).toBeTruthy()
expect(typeof calculate.averageMark()).toBe('string')
})
test('Выводит ли среднюю оценку', () => {
expect(calculate.averageMark()).toBe(`Dmitriy's average mark is 91.4`)
})
//_____present_____//
test('Проверка на типы данных функции present', () => {
expect(calculate.present()).toBeTruthy();
expect(typeof calculate.present()).toBe('boolean')
})
//_____absent_____//
test('Проверка на типы данных функции absent', () => {
expect(calculate.absent()).toBeTruthy();
expect(typeof calculate.absent()).toBe('boolean')
})
//_____summary_____//
test('Проверка на типы данных функции summary', () => {
expect(calculate.summary()).toBeTruthy()
expect(typeof calculate.summary()).toBe('string')
})
test('Выводит ли Cool!', () => {
expect(calculate.summary()).toEqual(`Cool!`)
})
})
Основной код :
class Student {
constructor(firstName,lastName,yearOfBirth,arrayOfGrades) {
this.firstName = firstName;
this.lastName = lastName;
this.yearOfBirth = yearOfBirth;
this.arrayOfGrades = arrayOfGrades;
this.age = new Date().getFullYear() - this.yearOfBirth;
this.avgMark = arrayOfGrades.reduce((sum,item) => {
return sum += item
}, 0) / arrayOfGrades.length;
}
//______Возраст студента______//
getAge () {
return (`${this.firstName}'s old is ${this.age} years`);
}
//______Средний бал______//
averageMark () {
return(`${this.firstName}'s average mark is ${this.avgMark}`);
}
}
class Visit extends Student {
constructor(firstName, lastName, yearOfBirth, arrayOfGrades) {
super(firstName, lastName, yearOfBirth, arrayOfGrades);
this.visitinMagazine = [];
}
//______Используется когда студент был на занятие______//
present () {
if (this.visitinMagazine.length < 26) {
this.visitinMagazine.push(true);
return this;
} else {
return this.visitinMagazine.pop();
}
}
//______Используется когда студент НЕ был на занятие______//
absent () {
if (this.visitinMagazine.length < 26) {
this.visitinMagazine.push(false);
return this;
} else {
return this.visitinMagazine.pop();
}
}
}
class Calculation extends Visit {
constructor(firstName, lastName, yearsOfBirth, arrayOfGrades) {
super(firstName, lastName, yearsOfBirth, arrayOfGrades);
}
//______Проверяем среднюю оценку и посейщение______//
summary () {
const averageVisit = this.visitinMagazine.filter((element) => element === true).length / this.visitinMagazine.length;
if (this.avgMark > 90 && averageVisit > 0.9) {
return 'Cool!';
} else if (this.avgMark > 90 || averageVisit > 0.9) {
return 'Good, but it can be better!';
} else {
return 'Radish';
}
}
}
//______Экземпляры расчетов______//
const calculate = new Calculation('Dmitriy', 'Yaroshchuk', 2001, [70, 80, 90, 100, 90, 90, 99, 100, 95, 100]);
const calculate1 = new Calculation('Andrew', 'Kavetsky', 2000, [90, 90, 90, 90, 90, 90, 100, 100, 95, 93]);
const calculate2 = new Calculation('Diana', 'Koko', 1999, [70, 70, 70, 70, 70, 70, 75, 75, 75, 93]);
console.log(calculate.getAge());
console.log(calculate1.getAge());
console.log(calculate2.getAge());
console.log(calculate.averageMark());
console.log(calculate1.averageMark());
console.log(calculate2.averageMark());
//______Посейщение уроков______//
calculate.present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().absent().absent();
//______Посейщение уроков______//
calculate1.absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().present().present();
//______Посейщение уроков______//
calculate2.present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().absent().absent().absent().absent().absent();
console.log(calculate.summary());
console.log(calculate1.summary());
console.log(calculate2.summary());
module.exports = { Calculation: Calculation, calculate: calculate }
Фото ошибки: