oa-jira
Version:
Octet Agile's JIRA connectivity project.
167 lines (142 loc) • 6.93 kB
JavaScript
const oaJira = require('../../../../');
const Cache = require('../../../../src/cache/classes/cache.class');
describe('Check [Cache] class', () => {
describe('Check [resolve] utility', () => {
it('should reject when cache is falsy.', () => {
expect(Cache.resolve()).rejects.toThrow('A [cache] is mandatory and cannot be falsy.');
});
it('should reject when cache does not implements expected one.', () => {
expect(Cache.resolve(new Error())).rejects.toThrow('A [cache] MUST implements [Cache].');
});
it('should resolve given when valid.', () => {
const cache = new Cache();
expect(Cache.resolve(cache)).resolves.toBe(cache);
});
});
describe('Check [categories] services', () => {
it('should reject error when id is missing.', async () => {
const cache = await oaJira.cache.init();
expect(cache.categories.set()).rejects.toThrow('A [id] is mandatory and cannot be falsy.');
});
it('should reject error when try to store an invalid category', async () => {
const cache = await oaJira.cache.init();
expect(cache.categories.set(1, 1)).rejects.toThrow('A [resource] MUST implements [categories].');
expect(cache.categories.has(1)).toBeFalsy();
});
it('should resolve undefined when store undefined', async () => {
const cache = await oaJira.cache.init();
await expect(cache.categories.set(1)).resolves.toBeNull();
expect(cache.categories.has(1)).toBeTruthy();
cache.reset();
expect(cache.categories.has(1)).toBeFalsy();
});
});
describe('Check [projects] services', () => {
it('should reject error when id is missing.', async () => {
const cache = await oaJira.cache.init();
expect(cache.projects.set()).rejects.toThrow('A [id] is mandatory and cannot be falsy.');
});
it('should reject error when try to store an invalid category', async () => {
const cache = await oaJira.cache.init();
expect(cache.projects.set(1, 1)).rejects.toThrow('A [resource] MUST implements [projects].');
expect(cache.projects.has(1)).toBeFalsy();
});
it('should resolve undefined when store undefined', async () => {
const cache = await oaJira.cache.init();
await expect(cache.projects.set(1)).resolves.toBeNull();
expect(cache.projects.has(1)).toBeTruthy();
cache.reset();
expect(cache.projects.has(1)).toBeFalsy();
});
});
describe('Check [resolutions] services', () => {
it('should reject error when id is missing.', async () => {
const cache = await oaJira.cache.init();
expect(cache.resolutions.set()).rejects.toThrow('A [id] is mandatory and cannot be falsy.');
});
it('should reject error when try to store an invalid category', async () => {
const cache = await oaJira.cache.init();
expect(cache.resolutions.set(1, 1)).rejects.toThrow('A [resource] MUST implements [resolutions].');
expect(cache.resolutions.has(1)).toBeFalsy();
});
it('should resolve undefined when store undefined', async () => {
const cache = await oaJira.cache.init();
await expect(cache.resolutions.set(1)).resolves.toBeNull();
expect(cache.resolutions.has(1)).toBeTruthy();
cache.reset();
expect(cache.resolutions.has(1)).toBeFalsy();
});
});
describe('Check [sprints] services', () => {
it('should reject error when id is missing.', async () => {
const cache = await oaJira.cache.init();
expect(cache.sprints.set()).rejects.toThrow('A [id] is mandatory and cannot be falsy.');
});
it('should reject error when try to store an invalid category', async () => {
const cache = await oaJira.cache.init();
expect(cache.sprints.set(1, 1)).rejects.toThrow('A [resource] MUST implements [sprints].');
expect(cache.sprints.has(1)).toBeFalsy();
});
it('should resolve undefined when store undefined', async () => {
const cache = await oaJira.cache.init();
await expect(cache.sprints.set(1)).resolves.toBeNull();
expect(cache.sprints.has(1)).toBeTruthy();
cache.reset();
expect(cache.sprints.has(1)).toBeFalsy();
});
});
describe('Check [statuses] services', () => {
it('should reject error when id is missing.', async () => {
const cache = await oaJira.cache.init();
expect(cache.statuses.set()).rejects.toThrow('A [id] is mandatory and cannot be falsy.');
});
it('should reject error when try to store an invalid category', async () => {
const cache = await oaJira.cache.init();
expect(cache.statuses.set(1, 1)).rejects.toThrow('A [resource] MUST implements [statuses].');
expect(cache.statuses.has(1)).toBeFalsy();
});
it('should resolve undefined when store undefined', async () => {
const cache = await oaJira.cache.init();
await expect(cache.statuses.set(1)).resolves.toBeNull();
expect(cache.statuses.has(1)).toBeTruthy();
cache.reset();
expect(cache.statuses.has(1)).toBeFalsy();
});
});
describe('Check [types] services', () => {
it('should reject error when id is missing.', async () => {
const cache = await oaJira.cache.init();
expect(cache.types.set()).rejects.toThrow('A [id] is mandatory and cannot be falsy.');
});
it('should reject error when try to store an invalid category', async () => {
const cache = await oaJira.cache.init();
expect(cache.types.set(1, 1)).rejects.toThrow('A [resource] MUST implements [types].');
expect(cache.types.has(1)).toBeFalsy();
});
it('should resolve undefined when store undefined', async () => {
const cache = await oaJira.cache.init();
await expect(cache.types.set(1)).resolves.toBeNull();
expect(cache.types.has(1)).toBeTruthy();
cache.reset();
expect(cache.types.has(1)).toBeFalsy();
});
});
describe('Check [versions] services', () => {
it('should reject error when id is missing.', async () => {
const cache = await oaJira.cache.init();
expect(cache.versions.set()).rejects.toThrow('A [id] is mandatory and cannot be falsy.');
});
it('should reject error when try to store an invalid category', async () => {
const cache = await oaJira.cache.init();
expect(cache.versions.set(1, 1)).rejects.toThrow('A [resource] MUST implements [versions].');
expect(cache.versions.has(1)).toBeFalsy();
});
it('should resolve undefined when store undefined', async () => {
const cache = await oaJira.cache.init();
await expect(cache.versions.set(1)).resolves.toBeNull();
expect(cache.versions.has(1)).toBeTruthy();
cache.reset();
expect(cache.versions.has(1)).toBeFalsy();
});
});
});