Не может получить элемент из dict по перезаписанному ключу в тестах шутки - PullRequest
0 голосов
/ 12 октября 2018

my_issue.js

const SPEAKERS = {
    'en-us': 'Amy',
    'de-de': 'Vicki',
    'fr-fr': 'Mathieu',
    'ru-ru': 'oksana'
};

let language_code = 'ru-ru';
let speed = '0.0';

let data = {};

function do_it() {
    data.a = 'good';
    data.e = language_code in SPEAKERS;
    data.b = SPEAKERS[language_code];
    data.c = speed;
    data.d = language_code;
}

do_it();

my_issue.test.js

let testModule = require('../my_issue');

let do_it = testModule.__get__('do_it');


describe('do_it', () => {
    it('do_it', () => {
        testModule.__set__('language_code', 'en-us');
        testModule.__set__('speed', '1.0');

        do_it();
        let language_code = testModule.__get__('language_code');
        expect(language_code).toEqual('en-us');

        let data = testModule.__get__('data');
        expect(data.a).toEqual('good');
        expect(data.c).toEqual('1.0');  // overwritten success
        expect(data.d).toEqual('en-us');  // overwritten success
        expect(data.e).toEqual(true);  // key exists in dict
        expect(data.b).toEqual('Amy');  // <<-- oksana SPEAKERS[language_code]
    });
});

Здравствуйте, у меня проблема, когда я ovveride language_code, то я не могу получить элемент из SPEAKERS с существующимиключ.Как видите, «speed» и «language_code» были успешно перезаписаны.Ключ существует в SPEAKER, но не может получить значение по этому ключу.Что я делаю не так?Спасибо всем.

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