peeky icon indicating copy to clipboard operation
peeky copied to clipboard

Jest-dom like assertions

Open distantnative opened this issue 2 years ago • 1 comments

For component testing, would be great to have jest-dom like assertions, e.g. toHaveAttribute()

distantnative avatar Dec 19 '21 16:12 distantnative

I think you can just create a setup file and extend expect

// peeky.setup.ts
import { expect } from '@peeky/test'
import matchers from '@testing-library/jest-dom/matchers'

expect.extend(matchers)
// peeky.config.ts
import { defineConfig } from '@peeky/test'

export default defineConfig({
  runtimeEnv: 'dom',
  setupFiles: ['./peeky.setup.ts']
})
// tsconfig.json
{
  "compilerOptions": {
    ...
    "types": ["@peeky/test"]
  },
  "include": ["./peeky.setup.ts"]
}
import { render } from '@testing-library/vue';
import Counter from '~/src/components/Counter.vue'

describe('Component: Counter.vue', () => {
  test('User should see 0 at the beginning', () => {
    const { getByText } = render(Counter);
    const textNumberWrapper = getByText(/Counter is:/);
    expect(textNumberWrapper).toHaveTextContent('Counter is: 0');
  });
});

wobsoriano avatar Mar 30 '22 18:03 wobsoriano