Build and publish Docker images / Build and publish images (push) Successful in 2m21s
106 lines
2.9 KiB
JavaScript
106 lines
2.9 KiB
JavaScript
import {
|
|
getLoadingStatus,
|
|
parseAPIErrorResponse,
|
|
setLoadingStatus,
|
|
throwErrorMessage,
|
|
parseLinearAPIErrorResponse,
|
|
} from '../api';
|
|
|
|
describe('#getLoadingStatus', () => {
|
|
it('returns correct status', () => {
|
|
expect(getLoadingStatus({ fetchAPIloadingStatus: true })).toBe(true);
|
|
});
|
|
});
|
|
|
|
describe('#setLoadingStatus', () => {
|
|
it('set correct status', () => {
|
|
const state = { fetchAPIloadingStatus: true };
|
|
setLoadingStatus(state, false);
|
|
expect(state.fetchAPIloadingStatus).toBe(false);
|
|
});
|
|
});
|
|
|
|
describe('#parseAPIErrorResponse', () => {
|
|
it('returns correct values', () => {
|
|
expect(
|
|
parseAPIErrorResponse({
|
|
response: { data: { message: 'Error Message [message]' } },
|
|
})
|
|
).toBe('Error Message [message]');
|
|
|
|
expect(
|
|
parseAPIErrorResponse({
|
|
response: { data: { error: 'Error Message [error]' } },
|
|
})
|
|
).toBe('Error Message [error]');
|
|
|
|
expect(parseAPIErrorResponse('Error: 422 Failed')).toBe(
|
|
'提交的信息有误,请检查后重试。'
|
|
);
|
|
expect(parseAPIErrorResponse('timeout of 10000ms exceeded')).toBe(
|
|
'请求超时,请稍后再试。'
|
|
);
|
|
expect(parseAPIErrorResponse('已从会话 ID 14 移除标签 #超时关闭')).toBe(
|
|
'已从会话 ID 14 移除标签 #超时关闭'
|
|
);
|
|
expect(
|
|
parseAPIErrorResponse(new Error('Request failed with status code 401'))
|
|
).toBe('身份验证失败,请重新登录。');
|
|
expect(
|
|
parseAPIErrorResponse({
|
|
response: { status: 401, data: { error: 'invalid email or password' } },
|
|
})
|
|
).toBe('邮箱或密码错误,请重试。');
|
|
expect(
|
|
parseAPIErrorResponse({
|
|
response: {
|
|
status: 403,
|
|
data: { error: 'administrator role required' },
|
|
},
|
|
})
|
|
).toBe('需要管理员权限才能执行此操作。');
|
|
expect(
|
|
parseAPIErrorResponse({
|
|
response: { status: 500, data: { error: 'database error' } },
|
|
})
|
|
).toBe('服务器发生错误,请稍后再试。');
|
|
expect(parseAPIErrorResponse(new Error('Network Error'))).toBe(
|
|
'网络连接失败,请检查网络后重试。'
|
|
);
|
|
});
|
|
});
|
|
|
|
describe('#throwErrorMessage', () => {
|
|
it('throws correct error', () => {
|
|
const errorFn = function throwErrorMessageFn() {
|
|
throwErrorMessage({
|
|
response: { data: { message: 'Error Message [message]' } },
|
|
});
|
|
};
|
|
expect(errorFn).toThrow('Error Message [message]');
|
|
});
|
|
});
|
|
|
|
describe('#parseLinearAPIErrorResponse', () => {
|
|
it('returns correct values', () => {
|
|
expect(
|
|
parseLinearAPIErrorResponse(
|
|
{
|
|
response: {
|
|
data: {
|
|
error: {
|
|
errors: [
|
|
{
|
|
message: 'Error Message [message]',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
'Default Message'
|
|
)
|
|
).toBe('Error Message [message]');
|
|
});
|
|
});
|