| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import { ERROR_CODE_DOCS_URLS } from 'shared-data'
- import { describe, expect, it } from 'vitest'
- import { getErrorCodeInfo } from './ErrorCodeTooltip.utils'
- import { Service } from '@/data/graphql/graphql'
- describe('getErrorCodeInfo', () => {
- describe('when service is undefined', () => {
- it('returns no definition and no docsUrl', () => {
- const result = getErrorCodeInfo('bad_jwt', undefined)
- expect(result.definition).toBeUndefined()
- expect(result.docsUrl).toBeUndefined()
- })
- })
- describe('when service is Storage (not in shared-data)', () => {
- it('returns no definition and no docsUrl', () => {
- const result = getErrorCodeInfo('some_code', Service.Storage)
- expect(result.definition).toBeUndefined()
- expect(result.docsUrl).toBeUndefined()
- })
- })
- describe('auth service', () => {
- it('returns definition for a known error code', () => {
- const result = getErrorCodeInfo('bad_jwt', Service.Auth)
- expect(result.definition).toBeDefined()
- expect(result.definition?.description).toBeTypeOf('string')
- })
- it('returns the auth docs URL', () => {
- const result = getErrorCodeInfo('bad_jwt', Service.Auth)
- expect(result.docsUrl).toBe(ERROR_CODE_DOCS_URLS['auth'])
- })
- it('returns undefined definition for an unknown error code', () => {
- const result = getErrorCodeInfo('not_a_real_code', Service.Auth)
- expect(result.definition).toBeUndefined()
- })
- it('returns definition for a numeric HTTP error code', () => {
- const result = getErrorCodeInfo('429', Service.Auth)
- expect(result.definition).toBeDefined()
- expect(result.definition?.description).toBeTypeOf('string')
- })
- it('returns undefined for a numeric code not in HTTP_ERROR_CODES', () => {
- const result = getErrorCodeInfo('999', Service.Auth)
- expect(result.definition).toBeUndefined()
- })
- })
- describe('realtime service', () => {
- it('returns the realtime docs URL', () => {
- const result = getErrorCodeInfo('TopicNameRequired', Service.Realtime)
- expect(result.docsUrl).toBe(ERROR_CODE_DOCS_URLS['realtime'])
- })
- it('returns definition for a known realtime error code', () => {
- const result = getErrorCodeInfo('TopicNameRequired', Service.Realtime)
- expect(result.definition).toBeDefined()
- expect(result.definition?.description).toBeTypeOf('string')
- })
- it('returns undefined definition for an unknown realtime error code', () => {
- const result = getErrorCodeInfo('not_a_real_code', Service.Realtime)
- expect(result.definition).toBeUndefined()
- })
- })
- })
|