безуспешно пытается смоделировать статическую функцию Мангуста (getLoginData) с помощью пересмешника.
У кого-нибудь есть рабочий пример для меня?Вот что я получил:
Моя модель пользователя // models / user.js
...
UserSchema.methods.login = function (username, password, host) {
Game.setHost(host);
this.setUserData(username, password);
return this.constructor.getLoginData().then(loginPageData => {
const loginData = Object.assign({}, defaultLoginData, {
name: this.username,
password: this.password,
login: loginPageData.loginInput
});
return this.constructor.loginWithUserData(loginData);
}).catch(error => console.log(error))
};
UserSchema.statics.getLoginData = function () {
const options = {
url: Game.getUrl(config.LOGIN),
};
return request(options, pages.getLoginPageData);
};
Мой тестовый модуль // test / user.js
...
describe('User', () => {
describe('login', function () {
it('username and password should set as virtual', () => {
const user = new User({});
mockingoose.User.toReturn(
Promise.resolve(responseMocks.loginPage), 'getLoginData'
);
mockingoose.User.toReturn(
expectedLoginData,
'loginWithUserData'
);
user.login('foo', 'bar').then(loginData => {
expect(user.username).to.equal(expectedLoginData.name);
});
})
});
});