Version as Clean Architecture
This commit is contained in:
parent
a1e5e97200
commit
87ed1f43a9
11 changed files with 104 additions and 114 deletions
|
@ -1,14 +1,20 @@
|
|||
import * as storage from 'background/shared/versions/storage';
|
||||
import VersionRepository from 'background/repositories/version';
|
||||
|
||||
describe("shared/versions/storage", () => {
|
||||
describe('#load', () => {
|
||||
describe("background/repositories/version", () => {
|
||||
let versionRepository;
|
||||
|
||||
beforeEach(() => {
|
||||
versionRepository = new VersionRepository;
|
||||
});
|
||||
|
||||
describe('#get', () => {
|
||||
beforeEach(() => {
|
||||
return browser.storage.local.remove('version');
|
||||
});
|
||||
|
||||
it('loads saved version', async() => {
|
||||
await browser.storage.local.set({ version: '1.2.3' });
|
||||
let version = await storage.load();
|
||||
let version = await this.versionRepository.get();
|
||||
expect(version).to.equal('1.2.3');
|
||||
});
|
||||
|
||||
|
@ -18,9 +24,9 @@ describe("shared/versions/storage", () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('#save', () => {
|
||||
describe('#update', () => {
|
||||
it('saves version string', async() => {
|
||||
await storage.save('2.3.4');
|
||||
await versionRepository.update('2.3.4');
|
||||
let { version } = await browser.storage.local.get('version');
|
||||
expect(version).to.equal('2.3.4');
|
||||
});
|
|
@ -1,40 +0,0 @@
|
|||
import * as versions from 'background/shared/versions';
|
||||
import manifest from '../../../../manifest.json';
|
||||
|
||||
describe("shared/versions/storage", () => {
|
||||
describe('#checkUpdated', () => {
|
||||
beforeEach(() => {
|
||||
return browser.storage.local.remove('version');
|
||||
});
|
||||
|
||||
it('return true if no previous versions', async() => {
|
||||
let updated = await versions.checkUpdated();
|
||||
expect(updated).to.be.true;
|
||||
});
|
||||
|
||||
it('return true if updated', async() => {
|
||||
await browser.storage.local.set({ version: '0.001' });
|
||||
let updated = await versions.checkUpdated();
|
||||
expect(updated).to.be.true;
|
||||
});
|
||||
|
||||
it('return false if not updated', async() => {
|
||||
await browser.storage.local.set({ version: manifest.version });
|
||||
let updated = await versions.checkUpdated();
|
||||
expect(updated).to.be.false;
|
||||
});
|
||||
});
|
||||
|
||||
describe('#commit', () => {
|
||||
beforeEach(() => {
|
||||
return browser.storage.local.remove('version');
|
||||
});
|
||||
|
||||
it('saves current version from manifest.json', async() => {
|
||||
await versions.commit();
|
||||
let { version } = await browser.storage.local.get('version');
|
||||
expect(version).to.be.a('string');
|
||||
expect(version).to.equal(manifest.version);
|
||||
});
|
||||
});
|
||||
});
|
Reference in a new issue