1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/test/fixtures/fake-tag-store.js

31 lines
933 B
JavaScript
Raw Normal View History

const NotFoundError = require('../../lib/error/notfound-error');
module.exports = () => {
const _tags = [];
return {
getTagsByType: type => {
const tags = _tags.filter(t => t.type === type);
return Promise.resolve(tags);
},
createTag: tag => {
_tags.push({ value: tag.value, type: tag.type });
},
deleteTag: tag => {
_tags.splice(
_tags.indexOf(
t => t.value === tag.value && t.type === tag.type,
),
1,
);
},
getAll: () => Promise.resolve(_tags),
getTag: (type, value) => {
const tag = _tags.find(t => t.type === type && t.value === value);
if (tag) {
return Promise.resolve(tag);
}
return Promise.reject(new NotFoundError('Could not find tag'));
},
};
};