Skip to content

Commit

Permalink
ci: fix test, add script test:quiet
Browse files Browse the repository at this point in the history
  • Loading branch information
rifandani committed Mar 19, 2024
1 parent 6fe8321 commit 83905dc
Show file tree
Hide file tree
Showing 13 changed files with 26 additions and 25 deletions.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@
"lint:fix": "eslint . --fix",
"typecheck": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
"test": "vitest",
"test:quiet": "vitest --watch=false",
"test:ui": "vitest --ui",
"test:coverage": "vitest run --coverage",
"test:preview": "vite preview --outDir html",
"test:preview:coverage": "vite preview --outDir coverage",
"regression": "run-p lint typecheck test",
"regression": "run-p lint typecheck test:quiet",
"msw:init": "msw init public/ --save",
"msw:delete": "rm -rf public/mockServiceWorker.js",
"dev": "rimraf dev-dist && DEBUG=vite-plugin-pwa SW_DEV=true vite",
Expand Down
2 changes: 1 addition & 1 deletion src/modules/auth/components/login-form/login-form.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ describe('<LoginForm />', () => {
async ({ wrapper }) => {
// ARRANGE
const user = userEvent.setup()
wrapper({ component: LoginForm })
wrapper<typeof LoginForm>({ component: LoginForm })
const formLogin: HTMLFormElement = screen.getByTestId('form-login')
const inputUsername: HTMLInputElement = screen.getByTestId('input-username')
const inputPassword: HTMLInputElement = screen.getByTestId('input-password')
Expand Down
4 changes: 2 additions & 2 deletions src/modules/auth/pages/login/page.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import { testWrapper } from '#shared/utils/test'

describe('<LoginPage />', () => {
testWrapper('should render properly', ({ wrapper }) => {
const result = wrapper({ component: LoginPage })
const result = wrapper<typeof LoginPage>({ component: LoginPage })
expect(() => result).not.toThrow()
})

testWrapper('should render content roles correctly', ({ wrapper }) => {
// ARRANGE
wrapper({ component: LoginPage })
wrapper<typeof LoginPage>({ component: LoginPage })
const linkHome: HTMLAnchorElement = screen.getByRole('link', { name: /home/i })
// const linkRegister: HTMLAnchorElement = screen.getByRole('link', { name: /register/i })
const imgCover: HTMLImageElement = screen.getByRole('img', { name: /cover/i })
Expand Down
4 changes: 2 additions & 2 deletions src/modules/auth/pages/not-found/page.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import { testWrapper } from '#shared/utils/test'

describe('<NotFoundPage />', () => {
testWrapper('should render properly', ({ wrapper }) => {
const result = wrapper({ component: NotFoundPage })
const result = wrapper<typeof NotFoundPage>({ component: NotFoundPage })
expect(() => result).not.toThrow()
})

testWrapper('should render text contents correctly', ({ wrapper }) => {
// ARRANGE
wrapper({ component: NotFoundPage })
wrapper<typeof NotFoundPage>({ component: NotFoundPage })
const heading: HTMLHeadingElement = screen.getByText(/Not Found/)
const paragraph: HTMLParagraphElement = screen.getByText(/It's gone/)
const anchor: HTMLAnchorElement = screen.getByTestId('notFound-link') // there are no text inside a stubbed router link
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ describe('<ClockSection />', () => {

testWrapper('should render clock when toggle clock button clicked', async ({ wrapper }) => {
// ARRANGE
wrapper({ component: ClockSection })
wrapper<typeof ClockSection>({ component: ClockSection })
const user = userEvent.setup()
const button: HTMLButtonElement = screen.getByTestId(/home-clock-button-clock/i)

Expand All @@ -21,7 +21,7 @@ describe('<ClockSection />', () => {
// TODO: figure out how to solve the randomness
testWrapper.todo('should shuffle buttons when sort button clicked', async ({ wrapper }) => {
// ARRANGE
wrapper({ component: ClockSection })
wrapper<typeof ClockSection>({ component: ClockSection })
const user = userEvent.setup()
const buttonsBefore: HTMLButtonElement[] = screen.queryAllByTestId(/home-clock-button/i)
const button: HTMLButtonElement = screen.getByTestId(/home-clock-button-sort/i)
Expand All @@ -39,7 +39,7 @@ describe('<ClockSection />', () => {
'should call mocked navigate function when get started button clicked',
async ({ wrapper }) => {
// ARRANGE
wrapper({ component: ClockSection })
wrapper<typeof ClockSection>({ component: ClockSection })
const user = userEvent.setup()
const button: HTMLButtonElement = screen.getByTestId(/home-clock-button-start/i)
button.addEventListener('click', mockButtonFn)
Expand Down
4 changes: 2 additions & 2 deletions src/modules/home/pages/home/page.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import { testWrapper } from '#shared/utils/test'

describe('<HomePage />', () => {
testWrapper('should render properly', ({ wrapper }) => {
const result = wrapper({ component: HomePage })
const result = wrapper<typeof HomePage>({ component: HomePage })
expect(() => result).not.toThrow()
})

testWrapper('should render contents correctly', ({ wrapper }) => {
// ARRANGE
wrapper({ component: HomePage })
wrapper<typeof HomePage>({ component: HomePage })
const heading: HTMLHeadingElement = screen.getByRole('heading', { level: 1 })

// ACT & ASSERT
Expand Down
2 changes: 1 addition & 1 deletion src/modules/shared/utils/test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import idID from '#i18n/id-ID.json'

export interface WrapperParams<T> {
component: any
stubs?: string[]
props?: ComponentInstance<T>['$props']
stubs?: string[]
}

// Type-define 'en-US' as the master schema for the resource
Expand Down
4 changes: 2 additions & 2 deletions src/modules/todo/components/todos-create/todos-create.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ describe('<TodosCreate />', () => {
const mockCreateSubmitFn = vi.fn()

testWrapper('should render properly', ({ wrapper }) => {
const result = wrapper({ component: TodosCreate })
const result = wrapper<typeof TodosCreate>({ component: TodosCreate })
expect(() => result).not.toThrow()
})

testWrapper(
'should be able to type the inputs and submit the create todo form',
async ({ wrapper }) => {
// ARRANGE
wrapper({ component: TodosCreate })
wrapper<typeof TodosCreate>({ component: TodosCreate })
const user = userEvent.setup()
const formCreate: HTMLFormElement = screen.getByTestId('form-create')
const inputTodo: HTMLInputElement = screen.getByTestId('input-create')
Expand Down
4 changes: 2 additions & 2 deletions src/modules/todo/components/todos-filter/todos-filter.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ describe('<TodosFilter />', () => {
const mockSelectFn = vi.fn()

testWrapper('should render properly', ({ wrapper }) => {
const result = wrapper({ component: TodosFilter })
const result = wrapper<typeof TodosFilter>({ component: TodosFilter })
expect(() => result).not.toThrow()
})

testWrapper('should be able to click dropdown', async ({ wrapper }) => {
// ARRANGE
wrapper({ component: TodosFilter })
wrapper<typeof TodosFilter>({ component: TodosFilter })
const form: HTMLFormElement = screen.getByRole('form')
const combobox = screen.getByTestId('combobox-btn')
combobox.addEventListener('click', mockSelectFn)
Expand Down
6 changes: 3 additions & 3 deletions src/modules/todo/components/todos-item/todos-item.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ describe('<TodosItem />', () => {
})

testWrapper('should render properly', ({ wrapper }) => {
const result = wrapper({ component: TodosItem, props: { todo } })
const result = wrapper<typeof TodosItem>({ component: TodosItem, props: { todo } })
expect(() => result).not.toThrow()
})

testWrapper('should render, check checkbox correctly', async ({ wrapper }) => {
// ARRANGE
wrapper({ component: TodosItem, props: { todo } })
wrapper<typeof TodosItem>({ component: TodosItem, props: { todo } })
const form: HTMLFormElement = await screen.findByRole('form', { name: /todo/i })
const inputId: HTMLInputElement = await screen.findByTestId('input-todoId')
const inputTodo: HTMLInputElement = await screen.findByRole('checkbox', { name: /todo/i })
Expand All @@ -41,7 +41,7 @@ describe('<TodosItem />', () => {
// FIXME: Unable to find role="button"
testWrapper.todo('should remove todo item correctly', async ({ wrapper }) => {
// ARRANGE
wrapper({ component: TodosItem, props: { todo } })
wrapper<typeof TodosItem>({ component: TodosItem, props: { todo } })
const removeBtn: HTMLButtonElement = await screen.findByRole('button')

// ACT & ASSERT
Expand Down
4 changes: 2 additions & 2 deletions src/modules/todo/components/todos-list/todos-list.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ describe('<TodosList />', () => {
const loadingId = 'list-loading'

testWrapper('should render properly', ({ wrapper }) => {
const result = wrapper({ component: TodosList })
const result = wrapper<typeof TodosList>({ component: TodosList })
expect(() => result).not.toThrow()
})

Expand All @@ -29,7 +29,7 @@ describe('<TodosList />', () => {
{ once: true },
),
)
wrapper({ component: TodosList })
wrapper<typeof TodosList>({ component: TodosList })

// ASSERT
await waitFor(() => {
Expand Down
4 changes: 2 additions & 2 deletions src/modules/todo/pages/todo/page.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import { testWrapper } from '#shared/utils/test'

describe('<TodoPage />', () => {
testWrapper('should render properly', ({ wrapper }) => {
const result = wrapper({ component: TodoPage })
const result = wrapper<typeof TodoPage>({ component: TodoPage })
expect(() => result).not.toThrow()
})

testWrapper('should render role contents correctly', ({ wrapper }) => {
// ARRANGE
wrapper({ component: TodoPage })
wrapper<typeof TodoPage>({ component: TodoPage })
const breadcrumb = screen.getByRole('navigation', { name: 'breadcrumb' })
const title: HTMLHeadingElement = screen.getByRole('heading', { name: /detail/i })

Expand Down
4 changes: 2 additions & 2 deletions src/modules/todo/pages/todos/page.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import { testWrapper } from '#shared/utils/test'

describe('<TodosPage />', () => {
testWrapper('should render properly', ({ wrapper }) => {
const result = wrapper({ component: TodosPage })
const result = wrapper<typeof TodosPage>({ component: TodosPage })
expect(() => result).not.toThrow()
})

testWrapper('should render content roles correctly', ({ wrapper }) => {
// ARRANGE
wrapper({ component: TodosPage })
wrapper<typeof TodosPage>({ component: TodosPage })
const title = screen.getByRole('heading', { level: 1 })

// ACT & ASSERT
Expand Down

0 comments on commit 83905dc

Please sign in to comment.