Skip to content

Commit

Permalink
chore: improves tests config and structure
Browse files Browse the repository at this point in the history
  • Loading branch information
Guilera committed Feb 18, 2025
1 parent f7dd89e commit e0d5dc9
Show file tree
Hide file tree
Showing 30 changed files with 58 additions and 20 deletions.
3 changes: 3 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
preset: 'ts-jest',
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module.exports = {
preset: 'ts-jest',
...require('../../jest.config.js'),
modulePathIgnorePatterns: ['<rootDir>/dist'],
collectCoverageFrom: ['src/**/*.{ts,tsx,js,jsx}'],
}
20 changes: 20 additions & 0 deletions packages/api/jest.unit.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
module.exports = {
...require('../../jest.config.js'),
testEnvironment: 'node',
verbose: true,
transform: {
'\\.ts$': ['ts-jest'],
},
modulePathIgnorePatterns: [
'<rootDir>/dist',
'index.ts',
'resolvers/',
'__generated__',
'typings/',
],
testMatch: ['**/*.test.ts'],
clearMocks: true,
collectCoverageFrom: ['<rootDir>/src/**/*.{ts,tsx,js,jsx}'],
coverageProvider: 'v8',
coverageDirectory: 'coverage',
}
6 changes: 5 additions & 1 deletion packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,11 @@
"build": "graphql-codegen --config codegen.yml && (pnpm build:cjs && pnpm build:esm)",
"build:cjs": "tsc --module commonjs --moduleResolution node10 --outDir dist/cjs && copyfiles \"src/**/*.graphql\" dist/cjs",
"build:esm": "tsc && copyfiles \"src/**/*.graphql\" dist/esm",
"test": "jest",
"test:int": "jest --projects jest.int.config.js",
"test:intc": "jest --projects jest.int.config.js --coverage",
"test:unit": "jest --projects jest.unit.config.js --silent",
"test:unitc": "jest --projects jest.unit.config.js --silent --coverage",
"test": "pnpm run test:unit && pnpm run test:int",
"generate": "graphql-codegen --config codegen.yml"
},
"dependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ import {
ValidateCartMutation,
ValidCart,
} from '../mocks/ValidateCartMutation'
import type { Options } from '../src'
import { getContextFactory, getSchema } from '../src'
import type { Options } from '../../src'
import { getContextFactory, getSchema } from '../../src'

const apiOptions = {
platform: 'vtex',
Expand Down Expand Up @@ -71,7 +71,7 @@ function pickFetchAPICallResult(
)
}

jest.mock('../src/platforms/vtex/clients/fetch.ts', () => ({
jest.mock('../../src/platforms/vtex/clients/fetch.ts', () => ({
fetchAPI: async (
info: RequestInfo,
init?: RequestInit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ import {
shippingSimulationFetch,
ShippingSimulationQueryResult,
} from '../mocks/ShippingQuery'
import type { Options } from '../src'
import { getContextFactory, getSchema } from '../src'
import type { Options } from '../../src'
import { getContextFactory, getSchema } from '../../src'

const apiOptions = {
platform: 'vtex',
Expand Down Expand Up @@ -95,7 +95,7 @@ function pickFetchAPICallResult(
)
}

jest.mock('../src/platforms/vtex/clients/fetch.ts', () => ({
jest.mock('../../src/platforms/vtex/clients/fetch.ts', () => ({
fetchAPI: (
info: RequestInfo,
init?: RequestInit,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { GraphQLSchema } from 'graphql'
import { assertValidSchema } from 'graphql'

import { getSchema } from '../src'
import { getSchema } from '../../src'

const TYPES = [
'StoreAggregateOffer',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { bestOfferFirst } from '../src/platforms/vtex/utils/productStock'
import type { CommertialOffer } from '../src/platforms/vtex/clients/search/types/ProductSearchResult'
import { bestOfferFirst } from '../../src/platforms/vtex/utils/productStock'
import type { CommertialOffer } from '../../src/platforms/vtex/clients/search/types/ProductSearchResult'

type TestItem = Pick<CommertialOffer, 'AvailableQuantity' | 'spotPrice'>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import {
getWithCookie,
updatesContextStorageCookies,
getStoreCookie,
} from '../src/platforms/vtex/utils/cookies'
import type { ContextForCookies } from '../src/platforms/vtex/utils/cookies'
import type { Context } from '../src/platforms/vtex'
} from '../../src/platforms/vtex/utils/cookies'
import type { ContextForCookies } from '../../src/platforms/vtex/utils/cookies'
import type { Context } from '../../src/platforms/vtex'

describe('getUpdatedCookie', () => {
it('Should return undefined if context has no headers', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
mockSessionInvalidDeliveryWindow,
mockSessionValidDeliveryWindow,
} from '../mocks/shouldUpdateShippingData'
import { shouldUpdateShippingData } from '../src/platforms/vtex/utils/shouldUpdateShippingData'
import { shouldUpdateShippingData } from '../../src/platforms/vtex/utils/shouldUpdateShippingData'

describe('shouldUpdateShippingData', () => {
it('For an empty items array at the OrderForm it should not update the Shipping Data', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
getActiveSkuVariations,
getFormattedVariations,
getVariantsByName,
} from '../src/platforms/vtex/utils/skuVariants'
} from '../../src/platforms/vtex/utils/skuVariants'

describe('createSlugsMap', () => {
it('should return an empty object for a product that has no sku specification properties.', () => {
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.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
11 changes: 11 additions & 0 deletions packages/api/test/unit/platforms/vtex/utils/canonical.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import type { Product } from '../../../../../src/platforms/vtex/clients/search/types/ProductSearchResult'
import { canonicalFromProduct } from '../../../../../src/platforms/vtex/utils/canonical'

describe('canonicalFromProduct', () => {
it('Should return proper link', () => {
const product = {
linkText: 'product-name',
}
expect(canonicalFromProduct(product as Product)).toBe('/product-name/p')
})
})
2 changes: 1 addition & 1 deletion packages/cli/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
preset: 'ts-jest',
...require('../../jest.config.js'),
testEnvironment: 'node',
}
2 changes: 1 addition & 1 deletion packages/components/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
preset: 'ts-jest',
...require('../../jest.config.js'),
testEnvironment: 'jest-environment-jsdom',
setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
}
2 changes: 1 addition & 1 deletion packages/core/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const { compilerOptions } = require('./tsconfig')

/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
preset: 'ts-jest',
...require('../../jest.config.js'),
testPathIgnorePatterns: ['/node_modules/', 'cypress/'],

/** Support importing from src/ or @generated/ folders (TS path imports) */
Expand Down
2 changes: 1 addition & 1 deletion packages/sdk/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module.exports = {
preset: 'ts-jest',
...require('../../jest.config.js'),
modulePathIgnorePatterns: ['<rootDir>/dist'],
collectCoverageFrom: ['src/**/*.{ts,tsx,js,jsx}'],
setupFiles: ['./test/setup.ts'],
Expand Down

0 comments on commit e0d5dc9

Please sign in to comment.