Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
koitoror committed Dec 20, 2023
2 parents 59821b3 + d2763ce commit bd93757
Show file tree
Hide file tree
Showing 14 changed files with 760 additions and 64 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ jobs:
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
- run: rm -rf node_modules package-lock.json
# - run: rm -rf node_modules package-lock.json
# - run: npm cache clean --force
- run: npm install
# - run: npm install
- run: npm ci
- run: npm run build --if-present
- run: npm test
16 changes: 16 additions & 0 deletions .jest/setupDomTests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Dummy import so that the linter won't complain
import { render } from '@testing-library/react'

Object.defineProperty(window, 'matchMedia', {
writable: true,
value: (query: any) => ({
matches: false,
media: query,
onchange: null,
addListener: () => {},
removeListener: () => {},
addEventListener: () => {},
removeEventListener: () => {},
dispatchEvent: () => {},
})
});
7 changes: 7 additions & 0 deletions .jest/setupTests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// jest-dom adds custom jest matchers for asserting on DOM nodes.
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
import '@testing-library/jest-dom';
// import '@testing-library/jest-dom/extend-expect';
import './setupDomTests';
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
exports[`check the snapshot 1`] = `
<DocumentFragment>
<footer
class="ant-layout-footer footer"
class="ant-layout-footer footer css-dev-only-do-not-override-1g853jt"
>
Copyright © 2023
</footer>
Expand Down
24 changes: 12 additions & 12 deletions __tests__/components/layout/__snapshots__/Header.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,31 @@
exports[`Header check the snapshot 1`] = `
<DocumentFragment>
<header
class="ant-layout-header header"
class="ant-layout-header header css-dev-only-do-not-override-1g853jt"
>
<div
class="ant-row"
class="ant-row css-dev-only-do-not-override-1g853jt"
>
<div
class="ant-col logo"
class="ant-col logo css-dev-only-do-not-override-1g853jt"
style="flex: 0 0 100px;"
>
<div>
Todos
</div>
</div>
<div
class="ant-col"
class="ant-col css-dev-only-do-not-override-1g853jt"
style="flex-basis: auto;"
>
<div
class="ant-row ant-row-space-between"
class="ant-row ant-row-space-between css-dev-only-do-not-override-1g853jt"
>
<div
class="ant-col ant-col-xs-0 ant-col-sm-0 ant-col-md-24"
class="ant-col ant-col-xs-0 ant-col-sm-0 ant-col-md-24 css-dev-only-do-not-override-1g853jt"
>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark css-dev-only-do-not-override-1g853jt"
data-menu-list="true"
role="menu"
tabindex="0"
Expand Down Expand Up @@ -143,19 +143,19 @@ exports[`Header check the snapshot 1`] = `
/>
</div>
<div
class="ant-col ant-col-xs-4 ant-col-xs-offset-20 ant-col-sm-3 ant-col-sm-offset-21 ant-col-md-0"
class="ant-col ant-col-xs-4 ant-col-xs-offset-20 ant-col-sm-3 ant-col-sm-offset-21 ant-col-md-0 css-dev-only-do-not-override-1g853jt"
>
<div
class="hamburger__Button-sc-1cfzf5o-0 ZPuhh"
class="sc-bdfCDU gcCQLz hamburger"
>
<div
class="hamburger__Line1-sc-1cfzf5o-1 jGomaN"
class="sc-gsTDqH cThqpc"
/>
<div
class="hamburger__Line2-sc-1cfzf5o-2 iCtxxV"
class="sc-dlfmHC hGXgQp"
/>
<div
class="hamburger__Line3-sc-1cfzf5o-3 eqZccE"
class="sc-hKgKIp jnEZPG"
/>
</div>
</div>
Expand Down
36 changes: 18 additions & 18 deletions __tests__/components/layout/__snapshots__/Layout.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,35 @@

exports[`Layout check the snapshot 1`] = `
<DocumentFragment>
<section
class="ant-layout layout"
<div
class="ant-layout layout css-dev-only-do-not-override-1g853jt"
>
<header
class="ant-layout-header header"
class="ant-layout-header header css-dev-only-do-not-override-1g853jt"
>
<div
class="ant-row"
class="ant-row css-dev-only-do-not-override-1g853jt"
>
<div
class="ant-col logo"
class="ant-col logo css-dev-only-do-not-override-1g853jt"
style="flex: 0 0 100px;"
>
<div>
Todos
</div>
</div>
<div
class="ant-col"
class="ant-col css-dev-only-do-not-override-1g853jt"
style="flex-basis: auto;"
>
<div
class="ant-row ant-row-space-between"
class="ant-row ant-row-space-between css-dev-only-do-not-override-1g853jt"
>
<div
class="ant-col ant-col-xs-0 ant-col-sm-0 ant-col-md-24"
class="ant-col ant-col-xs-0 ant-col-sm-0 ant-col-md-24 css-dev-only-do-not-override-1g853jt"
>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark css-dev-only-do-not-override-1g853jt"
data-menu-list="true"
role="menu"
tabindex="0"
Expand Down Expand Up @@ -146,19 +146,19 @@ exports[`Layout check the snapshot 1`] = `
/>
</div>
<div
class="ant-col ant-col-xs-4 ant-col-xs-offset-20 ant-col-sm-3 ant-col-sm-offset-21 ant-col-md-0"
class="ant-col ant-col-xs-4 ant-col-xs-offset-20 ant-col-sm-3 ant-col-sm-offset-21 ant-col-md-0 css-dev-only-do-not-override-1g853jt"
>
<div
class="hamburger__Button-sc-1cfzf5o-0 ZPuhh"
class="sc-bdfCDU gcCQLz hamburger"
>
<div
class="hamburger__Line1-sc-1cfzf5o-1 jGomaN"
class="sc-gsTDqH cThqpc"
/>
<div
class="hamburger__Line2-sc-1cfzf5o-2 iCtxxV"
class="sc-dlfmHC hGXgQp"
/>
<div
class="hamburger__Line3-sc-1cfzf5o-3 eqZccE"
class="sc-hKgKIp jnEZPG"
/>
</div>
</div>
Expand All @@ -167,13 +167,13 @@ exports[`Layout check the snapshot 1`] = `
</div>
</header>
<main
class="ant-layout-content content"
class="ant-layout-content content css-dev-only-do-not-override-1g853jt"
/>
<footer
class="ant-layout-footer footer"
class="ant-layout-footer footer css-dev-only-do-not-override-1g853jt"
>
Copyright © 2021
Copyright © 2023
</footer>
</section>
</div>
</DocumentFragment>
`;
27 changes: 22 additions & 5 deletions __tests__/components/navbar/Menu.test.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { render } from '@testing-library/react';
// import { render } from '@testing-library/react';
import { fireEvent, render, screen } from "@testing-library/react";
import Menu from '../../../components/navbar/menu';
import { MenuItems } from '../../../components/navbar/menu';

Expand All @@ -8,16 +9,32 @@ describe('Menu', () => {
const mode = 'horizontal';
const onClick = jest.fn();
const selectedKeys = ['home'];
// const items: MenuItems = {
// leftMenu: [
// { key: 'home', text: 'Home', path: '/' },
// { key: 'about', text: 'About', path: '/about' }
// ],
// rightMenu: [
// { key: 'register', text: 'Register', path: '/register' },
// { key: 'sign-in', text: 'Sign In', path: '/sign-in' }
// ]
// };

const items: MenuItems = {
leftMenu: [
{ key: 'home', text: 'Home', path: '/' },
{ key: 'about', text: 'About', path: '/about' }
],
{ key: 'home', text: 'Home', path: '/' },
{ key: 'about', text: 'About', path: '/about' }
],
rightMenu: [
{ key: 'register', text: 'Register', path: '/register' },
{ key: 'sign-in', text: 'Sign In', path: '/sign-in' }
]
],
length: 2, // Update length based on menu items
pop: () => ({ key: 'removed', text: 'Removed', path: '' }), // Implement or mock function
push: (menuItem) => { /* Implement or mock function */ return 3; }, // Update return value
concat: (menuItems) => ({ ...items, leftMenu: [...items.leftMenu, ...menuItems] }), // Implement or mock function
};

const { asFragment } = render(
<Menu
theme={theme}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@
exports[`Hamburger check the snapshot 1`] = `
<DocumentFragment>
<div
class="hamburger__Button-sc-1cfzf5o-0 ZPuhh"
class="sc-bdfCDU gcCQLz"
>
<div
class="hamburger__Line1-sc-1cfzf5o-1 jGomaN"
class="sc-gsTDqH cThqpc"
/>
<div
class="hamburger__Line2-sc-1cfzf5o-2 iCtxxV"
class="sc-dlfmHC hGXgQp"
/>
<div
class="hamburger__Line3-sc-1cfzf5o-3 eqZccE"
class="sc-hKgKIp jnEZPG"
/>
</div>
</DocumentFragment>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
exports[`Menu check the snapshot 1`] = `
<DocumentFragment>
<ul
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark"
class="ant-menu-overflow ant-menu ant-menu-root ant-menu-horizontal ant-menu-dark css-dev-only-do-not-override-1g853jt"
data-menu-list="true"
role="menu"
tabindex="0"
Expand Down
8 changes: 5 additions & 3 deletions __tests__/pages/__snapshots__/index.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@
exports[`Home check the snapshot 1`] = `
<DocumentFragment>
<div
class="ant-row"
class="ant-row css-dev-only-do-not-override-1g853jt"
>
<div
class="ant-col ant-col-xs-22 ant-col-xs-offset-1 ant-col-sm-20 ant-col-sm-offset-2 ant-col-md-18 ant-col-md-offset-3 ant-col-lg-12 ant-col-lg-offset-6"
class="ant-col ant-col-xs-22 ant-col-xs-offset-1 ant-col-sm-20 ant-col-sm-offset-2 ant-col-md-18 ant-col-md-offset-3 ant-col-lg-12 ant-col-lg-offset-6 css-dev-only-do-not-override-1g853jt"
>
<div
class="ant-spin ant-spin-lg ant-spin-spinning"
aria-busy="true"
aria-live="polite"
class="ant-spin ant-spin-lg ant-spin-spinning css-dev-only-do-not-override-1g853jt"
style="display: flex; justify-content: center; margin-top: 25vh;"
>
<span
Expand Down
31 changes: 26 additions & 5 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
module.exports = {
const nextJest = require("next/jest");
const createJestConfig = nextJest({
dir: "./",
});
const customJestConfig = {
roots: ['<rootDir>'],
transform: {
'^.+\\.ts?$': 'ts-jest'
},
// testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.ts?$',
moduleFileExtensions: ['ts', 'js', 'tsx', 'jsx', 'json', 'node'],
clearMocks: true,
coverageDirectory: 'coverage',
collectCoverage: true,
collectCoverageFrom: [
Expand All @@ -12,10 +23,20 @@ module.exports = {
'!<rootDir>/src/templates/**/*.{js,jsx,ts,tsx}',
'!<rootDir>/node_modules/',
],
testPathIgnorePatterns: ['/node_modules/', '/.next/', '/.out/', '/public/'],

testEnvironment: 'jsdom',
preset: 'ts-jest',
testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)'],
testPathIgnorePatterns: ['/node_modules/', '/.next/', '/.out/', '/public/'],
setupFilesAfterEnv: ['<rootDir>/.jest/setupTests.ts'],
moduleDirectories: ["node_modules", "<rootDir>/"],
// testEnvironment: "jest-environment-jsdom",
testEnvironment: 'jsdom',
// testEnvironment: 'node',
moduleNameMapper: {
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
'<rootDir>/__mocks__/fileMock.js',
'\\.(css|less)$': 'identity-obj-proxy',
},

setupFilesAfterEnv: ['<rootDir>/.jest/setup-tests.js'],
};
};
module.exports = createJestConfig(customJestConfig);
Loading

0 comments on commit bd93757

Please sign in to comment.