debian-mirror-gitlab/spec/frontend/__helpers__/emoji.js

69 lines
1.6 KiB
JavaScript
Raw Normal View History

2021-01-03 14:25:43 +05:30
import MockAdapter from 'axios-mock-adapter';
import { initEmojiMap, EMOJI_VERSION } from '~/emoji';
2021-03-11 19:13:27 +05:30
import axios from '~/lib/utils/axios_utils';
2021-01-03 14:25:43 +05:30
export const emojiFixtureMap = {
atom: {
moji: '⚛',
description: 'atom symbol',
unicodeVersion: '4.1',
aliases: ['atom_symbol'],
},
bomb: {
moji: '💣',
unicodeVersion: '6.0',
description: 'bomb',
},
construction_worker_tone5: {
moji: '👷🏿',
unicodeVersion: '8.0',
description: 'construction worker tone 5',
},
five: {
moji: '5⃣',
unicodeVersion: '3.0',
description: 'keycap digit five',
},
grey_question: {
moji: '❔',
unicodeVersion: '6.0',
description: 'white question mark ornament',
},
black_heart: {
moji: '🖤',
unicodeVersion: '1.1',
description: 'black heart',
},
heart: {
moji: '❤',
unicodeVersion: '1.1',
description: 'heavy black heart',
},
custard: {
moji: '🍮',
unicodeVersion: '6.0',
description: 'custard',
},
star: {
moji: '⭐',
unicodeVersion: '5.1',
description: 'white medium star',
},
};
2021-03-11 19:13:27 +05:30
export const mockEmojiData = Object.keys(emojiFixtureMap).reduce((acc, k) => {
const { moji: e, unicodeVersion: u, category: c, description: d } = emojiFixtureMap[k];
acc[k] = { name: k, e, u, c, d };
2021-01-03 14:25:43 +05:30
2021-03-11 19:13:27 +05:30
return acc;
}, {});
2021-01-03 14:25:43 +05:30
2021-03-11 19:13:27 +05:30
export async function initEmojiMock(mockData = mockEmojiData) {
2021-01-03 14:25:43 +05:30
const mock = new MockAdapter(axios);
2021-03-11 19:13:27 +05:30
mock.onGet(`/-/emojis/${EMOJI_VERSION}/emojis.json`).reply(200, JSON.stringify(mockData));
2021-01-03 14:25:43 +05:30
await initEmojiMap();
return mock;
}