услуги тестирования в nodejs с помощью sinon chai & mocha - PullRequest
0 голосов
/ 29 марта 2020

я пытаюсь проверить мой bycrptSevice ... вот мой сервис:

module.exports = (bcrypt) => {
  const hashKey = Number(process.env.BCRYPT_HASH_KEY) || 10;

  function checkPassword(reqPassword, userPassword) {
    console.log("bycrptService: checkPassword call()");

    return bcrypt.compareSync(reqPassword, userPassword);
  }

  function createHashPassword(password) {
    console.log("bycrptService: createHashPassword call()");

    return bcrypt.hashSync(password, hashKey);
  }

  return {
    checkPassword,
    createHashPassword
  };
}

это тестовый файл:

const { assert, should, expect, sinon } = require('../baseTest');

const bcryptService = require('../../services/bcryptService');
const bcryptjs = require('bcryptjs');

describe('bcryptService Tests', function() {
    const bcrypt = bcryptService(bcryptjs);
    let Password = '1234';
    let crptPassword = bcrypt.createHashPassword(Password);

    it('test the createHashPassword() create new hash password to the input password',function(){
      expect(crptPassword).to.not.be.equal(Password);
    })

    it('test the checkPassword() check if return true when its compere and false when its not', function() {
       bcrypt.checkPassword(Password,crptPassword).should.be.true;
       bcrypt.checkPassword('987',crptPassword).should.be.false;
    })
    it('test onInit bycrptSevice shoud have hashKey',function(){
     //how to check it??? 
    })
});

мой первый вопрос: как я могу проверить, существует ли hashKey? во-вторых: я должен это проверить? я имею в виду - это моя ответственность, чтобы проверить это или, может быть, я не забочусь о privete поле

1 Ответ

0 голосов
/ 29 марта 2020

Чтобы протестировать hashKey, вы должны экспортировать его в bycrptSevice, а затем вы можете выполнить любые тесты, которые захотите.

Относительно вашего второго вопроса, это зависит, но для вашего случая hashkey - это переменная среды, и вы должны настроить ее перед запуском тестов, поэтому тестировать ее необязательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...