Как издеваться над chrome.cookies.getВсе, используя Жасмин? - PullRequest
1 голос
/ 16 мая 2019

У меня есть следующий код в background.js


var allCookies = [];
function getAllCookies() {
   chrome.cookies.getAll({}, function(cookies) {
    for (var i in cookies) {
      allCookies.push(cookies[i])
     }
    }
   });
}

Теперь в specs.js я написал следующий код для проверки метода getAllCookies -


describe('getAllCookies', function() {
    beforeEach(function() {
      chrome = {
        cookies: {
            getAll : function() { 
                return [
                    'cookie1',
                    'cookie2'
                ]
            }
        }
      };
      spyOn(chrome.cookies,'getAll');
    });
    it('should updated global variable allCookies', function() {
      getAllCookies();
      expect(allCookies).toEqual(['cookie1','cookie2'])
    })
  })

Но тест не пройден как allCookies = [], но он должен быть равен ['cookie1','cookie2']

Может ли кто-нибудь помочь мне смоделировать такие API-интерфейсы Chrome (скажем, chrome.cookies.getAll), которые принимают в качестве аргумента функцию обратного вызова?

...