Ejemplo n.º 1
0
test('web worker add duplicate', t => {
  let state = worker.getWorkerState();
  t.is(state.repositories.length, 0);
  t.is(state.repositories.find(repo => repo.url ==='test') !== undefined, false);

  worker.addRepo('test');
  worker.addRepo('test');
  state = worker.getWorkerState();
  t.is(state.repositories.length, 1);
  t.is(state.repositories.find(repo => repo.url ==='test') !== undefined, true);
});
Ejemplo n.º 2
0
test('getRepoDetailsByUrl', t => {
  delete require.cache[require.resolve(workerPath)];
  let worker = require(workerPath);
  worker.addRepo('getRepoDetailsByUrl').then(() => {
    worker.getRepoDetailsByUrl('getRepoDetailsByUrl').then(repo => {
      t.is(repo.url, 'getRepoDetailsByUrl');
    });
  });
});
Ejemplo n.º 3
0
test('getAllRepoDetails', t => {
  delete require.cache[require.resolve(workerPath)];
  let worker = require(workerPath);
  worker.forceGithubAvailable(true);
  worker.addRepo('repo1')
    .then(() => worker.addRepo('repo2'))
    .then(() => worker.addRepo('repo3'))
    .then(() => worker.getAllRepoDetails('getRepoDetailsByUrl'))
    .then(({currentPRMap}) => {
      t.is(currentPRMap.size, 2);
      worker.pageVisibilityChanged(true);
      let state = worker.getWorkerState();
      t.is(state.currentPRMap, state.newPRMap);
    });
});
Ejemplo n.º 4
0
  return new Promise(function(resolve) {
    worker.forceGithubAvailable(true);
    let state = worker.getWorkerState();
    t.is(state.repositories.length, 0);
    t.is(state.repositories.find(repo => repo.url ==='test') !== undefined, false);

    worker.self.postMessage = function([messageType, msgDataString]) {
      if (messageType === 'drawPlaceholderRepo') {
        let {postData} = JSON.parse(msgDataString);
        t.is(postData.url, 'test');
        t.is(state.repositories.length, 1);
        t.is(state.repositories.find(repo => repo.url ==='test') !== undefined, true);
        resolve();
      }
    };
    worker.addRepo('test');
  });
Ejemplo n.º 5
0
test('web worker removeRepo', t => {
  delete require.cache[require.resolve(workerPath)];
  let worker = require(workerPath);

  worker.initAPIVariables({
    accessToken: 'asdf',
    apiUrl: 'https://api.github.com',
    githubUrl: 'https://github.com/'
  });
  worker.addRepo('test').then(() => {
    let state = worker.getWorkerState();
    t.is(state.repositories.length, 1);
    t.is(state.repositories.find(repo => repo.url ==='test') === undefined, false);

    let repoToRemove = state.repositories[0].url;
    worker.removeRepo(repoToRemove);
    state = worker.getWorkerState();
    t.is(state.repositories.length, 0);
    t.is(state.repositories.find(repo => repo.url ==='test') === undefined, true);
  });
});
Ejemplo n.º 6
0
 .then(() => worker.addRepo('repo3'))