Skip to content

Commit

Permalink
added: tests for config
Browse files Browse the repository at this point in the history
  • Loading branch information
binjospookie committed Dec 28, 2023
1 parent aa6cdb0 commit 814fa91
Show file tree
Hide file tree
Showing 23 changed files with 145 additions and 22 deletions.
27 changes: 27 additions & 0 deletions bin/__tests__/getConfig/cli.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { expect, test, mock, vi } from 'vitest'

import { getConfig } from '../../getConfig.js'
import { CONFIG } from './constants.js'

test('default value', async () => {
vi.mock('meow', () => ({
default: vi.fn(() => ({
flags: {
entry: 'src/index.tsx',
extensions: 'js,jsx',
collectUsages: 'package-a'
}
}))
}))

const config = await getConfig()

expect(config).toStrictEqual({
...CONFIG,
entry: 'src/index.tsx',
extensions: ['.js', '.jsx'],
collectUsages: 'package-a'
})

vi.resetAllMocks()
})
44 changes: 44 additions & 0 deletions bin/__tests__/getConfig/config+cli.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import { expect, test, mock, vi } from 'vitest'

import { getConfig } from '../../getConfig.js'
import { CONFIG } from './constants.js'

test('default value', async () => {
vi.mock('lilconfig', () => ({
lilconfig: () => ({
search: () => ({
config: {
babelPlugins: ['jsx'],
batch: { default: 500 },
entry: 'src/index.ts',
exclude: ['build'],
extensions: ['.js', '.jsx']
}
})
})
}))

vi.mock('meow', () => ({
default: vi.fn(() => ({
flags: {
entry: 'src/main.js',
extensions: 'js,jsx,ts,tsx',
collectUsages: 'package-a'
}
}))
}))

const config = await getConfig()

expect(config).toStrictEqual({
...CONFIG,
babelPlugins: new Set([...CONFIG.babelPlugins, 'jsx']),
batch: { default: 500 },
collectUsages: 'package-a',
entry: 'src/main.js',
extensions: ['.js', '.jsx', '.ts', '.tsx'],
exclude: new Set([...CONFIG.exclude, 'build'])
})

vi.resetAllMocks()
})
8 changes: 8 additions & 0 deletions bin/__tests__/getConfig/constants.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export const CONFIG = {
babelPlugins: new Set(['typescript']),
batch: { default: 100 },
collectUsages: null,
entry: 'index.ts',
exclude: new Set(['node_modules']),
extensions: ['.ts', '.tsx']
}
10 changes: 10 additions & 0 deletions bin/__tests__/getConfig/index.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { expect, test } from 'vitest'

import { getConfig } from '../../getConfig.js'
import { CONFIG } from './constants.js'

test('default value', async () => {
const config = await getConfig()

expect(config).toStrictEqual(CONFIG)
})
33 changes: 33 additions & 0 deletions bin/__tests__/getConfig/withconfig.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { expect, test, mock, vi } from 'vitest'

import { getConfig } from '../../getConfig.js'
import { CONFIG } from './constants.js'

test('default value', async () => {
vi.mock('lilconfig', () => ({
lilconfig: () => ({
search: () => ({
config: {
babelPlugins: ['jsx'],
batch: { default: 500 },
entry: 'src/index.ts',
exclude: ['build'],
extensions: ['.js', '.jsx']
}
})
})
}))

const config = await getConfig()

expect(config).toStrictEqual({
...CONFIG,
babelPlugins: new Set([...CONFIG.babelPlugins, 'jsx']),
batch: { default: 500 },
entry: 'src/index.ts',
extensions: ['.js', '.jsx'],
exclude: new Set([...CONFIG.exclude, 'build'])
})

vi.resetAllMocks()
})
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
exports[`run check-exports in package-a 1`] = `
"
> check-exports
> node ../../../bin/index.js
> node ../../../../index.js
Failed Unused exports in package-a package found
Expand All @@ -19,7 +19,7 @@ exports[`run check-exports in package-a 1`] = `
exports[`run check-exports in package-b 1`] = `
"
> check-exports
> node ../../../bin/index.js -e index.tsx
> node ../../../../index.js -e index.tsx
"
`;
Expand All @@ -32,7 +32,7 @@ exports[`run check-exports in package-b 2`] = `
exports[`run check-exports in package-c 1`] = `
"
> check-exports
> node ../../../bin/index.js
> node ../../../../index.js
Failed Nothing is imported from package-c. Remove it.
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 6 additions & 0 deletions bin/__tests__/monorepo/packages/package-a/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "package-a",
"scripts": {
"check-exports": "node ../../../../index.js"
}
}
File renamed without changes.
6 changes: 6 additions & 0 deletions bin/__tests__/monorepo/packages/package-b/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "package-b",
"scripts": {
"check-exports": "node ../../../../index.js -e index.tsx"
}
}
File renamed without changes.
6 changes: 6 additions & 0 deletions bin/__tests__/monorepo/packages/package-c/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"name": "package-c",
"scripts": {
"check-exports": "node ../../../../index.js"
}
}
1 change: 1 addition & 0 deletions bin/getConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ const cli = meow(
Options
--entry, -e path to the package index file. relative to the package directory
--collect-usages, -u outputs a list of all unique uses of the package
--extensions , -x list of file extensions to be considered during the search
`,
{
importMeta: import.meta,
Expand Down
6 changes: 0 additions & 6 deletions monorepo/packages/package-a/package.json

This file was deleted.

6 changes: 0 additions & 6 deletions monorepo/packages/package-b/package.json

This file was deleted.

6 changes: 0 additions & 6 deletions monorepo/packages/package-c/package.json

This file was deleted.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "pure-index",
"type": "module",
"version": "0.0.26",
"version": "0.0.27",
"description": "Utility for monorepos. It helps to find unused exports from packages or get a list of all unique uses of any package",
"main": "./bin/index.js",
"bin": "./bin/index.js",
Expand Down

0 comments on commit 814fa91

Please sign in to comment.