Skip to content

Commit

Permalink
cleanup tests
Browse files Browse the repository at this point in the history
  • Loading branch information
erikyo committed Dec 16, 2023
1 parent 24416b1 commit c3ad0da
Show file tree
Hide file tree
Showing 13 changed files with 112 additions and 204 deletions.
21 changes: 17 additions & 4 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
"transform": {
"\\.[jt]sx?$": "babel-jest"
},
const jestConfig = {
"transform": {
"\\.[jt]sx?$": "babel-jest"
},
"testRegex": "(/tests/.*|(\\.|/)(test|spec))\\.tsx?$",
"transformIgnorePatterns": ["/node_modules/"],
"coverageThreshold": {
"global": {
"branches": 10,
"functions": 10,
"lines": 10,
"statements": 10
}
},
"collectCoverage": true,
};

module.exports = jestConfig;
5 changes: 3 additions & 2 deletions tests/asKey.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { describe, expect } from '@jest/globals'
import ISOToLanguage from '../src'
import { isoList } from '../src/iso'

describe('getBy', () => {
describe('asKey', () => {
let isoToLanguage: ISOToLanguage

beforeEach(() => {
Expand All @@ -13,14 +13,14 @@ describe('getBy', () => {
it('should return an object with languages as keys', () => {
const result = isoToLanguage.asKey('languages')
const expectedKeys = Object.keys(result)
const expectedLanguages = isoList['AD'].languages

expect(expectedKeys.length).toBeGreaterThan(10)
})

it('should return an object with names as keys', () => {
const result = isoToLanguage.asKey('name')
const expectedKeys = Object.keys(result)
// @ts-ignore
const expectedNames = isoToLanguage.getAllNames()

expect(expectedKeys).toEqual(expectedNames)
Expand All @@ -29,6 +29,7 @@ describe('getBy', () => {
it('should return an object with original data as keys', () => {
const result = isoToLanguage.asKey('original')
const expectedKeys = Object.keys(result)
// @ts-ignore
const expectedOriginals = isoToLanguage.getAllOriginalNames()

expect(expectedKeys).toEqual(expectedOriginals)
Expand Down
1 change: 0 additions & 1 deletion tests/format.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ describe('format', () => {

it('should use the separator based on the options.type if options.separator is not specified', () => {
const isoToLanguage = new ISOToLanguage()
isoToLanguage.getSeparator = jest.fn((type) => type === 'language-code' ? '-' : '_')
const formattedString = isoToLanguage.format('en', 'US', { type: 'language-code' })
expect(formattedString).toBe('en-US')
})
Expand Down
22 changes: 6 additions & 16 deletions tests/get.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { describe, expect } from '@jest/globals'
import ISOToLanguage from '../src/index'
import { isoList } from '../src/iso'

describe('getBy', () => {
describe('get', () => {
let isoToLanguage: ISOToLanguage

beforeEach(() => {
Expand Down Expand Up @@ -76,33 +76,23 @@ describe('getBy', () => {

it('should return ISO data for the provided ISO code and no type', () => {
const isoCode = null
const result = isoToLanguage.get(isoCode)
const result = isoToLanguage.get(isoCode as unknown as string)
const expectedData = false

expect(result).toEqual(expectedData)
})

it('should return false for an invalid type', () => {
const isoCode = 'AD'
const result = isoToLanguage.get(isoCode, 'invalidType')
const result = isoToLanguage.get(isoCode, 'invalidType' as unknown as 'locale')

expect(result).toMatchObject({
languages: ['ca'],
name: 'Andorra',
original: 'Andorra',
})
})
})
})

describe('ISOToLanguage', () => {
let isoToLanguage: ISOToLanguage

beforeEach(() => {
isoToLanguage = new ISOToLanguage()
})

describe('get', () => {
it('should return ISO data for a valid ISO code', () => {
const validISO = 'AD'
const result = isoToLanguage.get(validISO)
Expand Down Expand Up @@ -138,20 +128,20 @@ describe('ISOToLanguage', () => {
})

it('should return false for undefined ISO code', () => {
const result = isoToLanguage.get(undefined as any)
const result = isoToLanguage.get(undefined as unknown as string)

expect(result).toBe(false)
})

it('should return false for null ISO code', () => {
const result = isoToLanguage.get(null as any)
const result = isoToLanguage.get(null as unknown as string)

expect(result).toBe(false)
})

it('should return false for a non-string ISO code', () => {
const nonStringISO = 123
const result = isoToLanguage.get(nonStringISO as any)
const result = isoToLanguage.get(nonStringISO as unknown as string)

expect(result).toBe(false)
})
Expand Down
7 changes: 5 additions & 2 deletions tests/getAll.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { describe, expect } from '@jest/globals'
import ISOToLanguage from '../src/index'
import { isoList } from '../src/iso'

describe('ISOToLanguage', () => {
describe('getAll', () => {
let isoToLanguage: ISOToLanguage

beforeEach(() => {
Expand All @@ -19,20 +19,23 @@ describe('ISOToLanguage', () => {

it('should return all languages when type is "languages"', () => {
const result = isoToLanguage.getAll('languages')
// @ts-ignore
const expectedLanguages = isoToLanguage.getAllLanguages()

expect(result).toEqual(expect.arrayContaining(expectedLanguages))
})

it('should return all names when type is "names"', () => {
const result = isoToLanguage.getAll('names')
// @ts-ignore
const expectedNames = isoToLanguage.getAllNames()

expect(result).toEqual(expect.arrayContaining(expectedNames))
})

it('should return all original names when type is "original"', () => {
const result = isoToLanguage.getAll('original')
// @ts-ignore
const expectedOriginalNames = isoToLanguage.getAllOriginalNames()

expect(result).toEqual(
Expand All @@ -46,7 +49,7 @@ describe('ISOToLanguage', () => {
})

it('should return isoList when an invalid type is provided', () => {
const result = isoToLanguage.getAll('invalidType')
const result = isoToLanguage.getAll('invalidType' as unknown as 'iso')
expect(result).toEqual(isoList)
})
})
Expand Down
38 changes: 18 additions & 20 deletions tests/getAllLanguageCodesByISO.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,33 @@ import { describe, expect } from '@jest/globals'
import ISOToLanguage from '../src/index'
import { isoList } from '../src/iso'

describe('ISOToLanguage', () => {
describe('getAllLanguagesByISO', () => {
let isoToLanguage: ISOToLanguage

beforeEach(() => {
isoToLanguage = new ISOToLanguage()
})

describe('getAllLanguagesByISO', () => {
it('should return all languages associated with the given ISO codes', () => {
const isoCodes = ['AD', 'AE', 'AF']
const result = isoToLanguage.getAllLanguagesByISO(isoCodes)
const expectedLanguages = Array.from(
new Set(
isoCodes.flatMap((isoCode) => isoList[isoCode].languages)
)
it('should return all languages associated with the given ISO codes', () => {
const isoCodes = ['AD', 'AE', 'AF']
const result = isoToLanguage.getAllLanguagesByISO(isoCodes)
const expectedLanguages = Array.from(
new Set(
isoCodes.flatMap((isoCode) => isoList[isoCode].languages)
)
)

expect(result).toEqual(expectedLanguages)
})
expect(result).toEqual(expectedLanguages)
})

it('should return an empty array for an empty input', () => {
const result = isoToLanguage.getAllLanguagesByISO([])
expect(result).toEqual([])
})
it('should return an empty array for an empty input', () => {
const result = isoToLanguage.getAllLanguagesByISO([])
expect(result).toEqual([])
})

it('should return an empty array for invalid ISO codes', () => {
const isoCodes = ['InvalidCode1', 'InvalidCode2']
const result = isoToLanguage.getAllLanguagesByISO(isoCodes)
expect(result).toEqual([])
})
it('should return an empty array for invalid ISO codes', () => {
const isoCodes = ['InvalidCode1', 'InvalidCode2']
const result = isoToLanguage.getAllLanguagesByISO(isoCodes)
expect(result).toEqual([])
})
})
74 changes: 36 additions & 38 deletions tests/getAllLanguagesByISO.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,55 +2,53 @@ import { describe, expect } from '@jest/globals'
import ISOToLanguage from '../src/index'
import { isoList } from '../src/iso'

describe('ISOToLanguage', () => {
describe('getAllLanguageCodesByISO', () => {
let isoToLanguage: ISOToLanguage

beforeEach(() => {
isoToLanguage = new ISOToLanguage()
})

describe('getAllLanguageCodesByISO', () => {
it('should return all language codes associated with the given ISO codes', () => {
const isoCodes = ['AD', 'AE', 'AF']
const result = isoToLanguage.getAllLanguageCodesByISO(isoCodes)
const expectedLanguageCodes = Array.from(
new Set(
isoCodes.flatMap((isoCode) => {
return isoList[isoCode].languages.map(
(language) => `${language}-${isoCode}`
)
})
)
it('should return all language codes associated with the given ISO codes', () => {
const isoCodes = ['AD', 'AE', 'AF']
const result = isoToLanguage.getAllLanguageCodesByISO(isoCodes)
const expectedLanguageCodes = Array.from(
new Set(
isoCodes.flatMap((isoCode) => {
return isoList[isoCode].languages.map(
(language) => `${language}-${isoCode}`
)
})
)
)

expect(result).toEqual(expectedLanguageCodes)
})

it('should return all language codes associated with the given ISO codes', () => {
const isoCodes = ['AD', 'AE', 'AF']
const result = isoToLanguage.getAllLanguageCodesByISO(isoCodes, 'locale')
const expectedLanguageCodes = Array.from(
new Set(
isoCodes.flatMap((isoCode) => {
return isoList[isoCode].languages.map(
(language) => `${language}_${isoCode}`
)
})
)
expect(result).toEqual(expectedLanguageCodes)
})

it('should return all language codes associated with the given ISO codes', () => {
const isoCodes = ['AD', 'AE', 'AF']
const result = isoToLanguage.getAllLanguageCodesByISO(isoCodes, 'locale')
const expectedLanguageCodes = Array.from(
new Set(
isoCodes.flatMap((isoCode) => {
return isoList[isoCode].languages.map(
(language) => `${language}_${isoCode}`
)
})
)
)

expect(result).toEqual(expectedLanguageCodes)
})
expect(result).toEqual(expectedLanguageCodes)
})

it('should return an empty array for an empty input', () => {
const result = isoToLanguage.getAllLanguageCodesByISO([])
expect(result).toEqual([])
})
it('should return an empty array for an empty input', () => {
const result = isoToLanguage.getAllLanguageCodesByISO([])
expect(result).toEqual([])
})

it('should return an empty array for invalid ISO codes', () => {
const isoCodes = ['InvalidCode1', 'InvalidCode2']
const result = isoToLanguage.getAllLanguageCodesByISO(isoCodes)
expect(result).toEqual([])
})
it('should return an empty array for invalid ISO codes', () => {
const isoCodes = ['InvalidCode1', 'InvalidCode2']
const result = isoToLanguage.getAllLanguageCodesByISO(isoCodes)
expect(result).toEqual([])
})
})
2 changes: 1 addition & 1 deletion tests/getCountriesByLanguage.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ describe('getCountriesByLanguage', () => {
const result = isoToLanguage.getCountriesByLanguage(languages)

// Add your expectations based on the isoList data
// For demonstration, we assume that isoList contains specific data
// For demonstration purposes we assume that isoList contains specific data
expect(result).toEqual(expect.objectContaining({
AG: {
languages: ['en'],
Expand Down
2 changes: 1 addition & 1 deletion tests/getCountryData.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ describe('ISOToLanguage', () => {
})

it('should return null for an invalid language code', () => {
const result = isoToLanguage.getCountryData(false)
const result = isoToLanguage.getCountryData(false as unknown as string)

expect(result).toBeFalsy()
})
Expand Down
Loading

0 comments on commit c3ad0da

Please sign in to comment.