Repository URL to install this package:
|
Version:
4.2.0 ▾
|
const onesky = require('@brainly/onesky-utils');
const { getProjectLanguages, uploadProjectTranslation, getProjectMessagesByLanguage } = require('./api');
jest.mock('@brainly/onesky-utils');
describe('OneSky API', () => {
test('getProjectLanguages', async () => {
const response = { data: [{ code: 'xx' }] };
onesky.getLanguages.mockResolvedValue(JSON.stringify(response));
const projectLanguages = await getProjectLanguages('1234', { apiKey: 'apiKey', secret: 'secret' });
expect(projectLanguages).toEqual(response.data);
expect(onesky.getLanguages).toHaveBeenCalledWith({ apiKey: 'apiKey', projectId: '1234', secret: 'secret' });
});
test('uploadProjectTranslation', async () => {
const projectId = '1234';
const sourceMessages = { 'test.key': 'test value' };
const credentials = { apiKey: 'apiKey', secret: 'secret' };
await uploadProjectTranslation({ language: 'en', projectId }, sourceMessages, credentials);
expect(onesky.postFile).toHaveBeenCalledWith({
content: JSON.stringify(sourceMessages),
fileName: 'translations.json',
format: 'HIERARCHICAL_JSON',
keepStrings: true,
language: 'en',
projectId,
...credentials,
});
});
test('getProjectMessagesByLanguage', async () => {
const response = { 'i18n.key1': 'Key 1' };
onesky.getFile.mockResolvedValue(JSON.stringify(response));
const options = { language: 'en', projectId: '1234' };
const credentials = { apiKey: 'apiKey', secret: 'secret' };
const projectMessages = await getProjectMessagesByLanguage(options, credentials);
expect(onesky.getFile).toHaveBeenCalledWith({
fileName: 'translations.json',
...options,
...credentials,
});
expect(projectMessages).toEqual(response);
});
});