Skip to content

Commit 7b14568

Browse files
committed
test(DsfrBreadcrumb): ✅ use storybook play
and remove cypress tests
1 parent 508d1aa commit 7b14568

File tree

2 files changed

+21
-58
lines changed

2 files changed

+21
-58
lines changed

src/components/DsfrBreadcrumb/DsfrBreadcrumb.e2e.ts

Lines changed: 0 additions & 55 deletions
This file was deleted.

src/components/DsfrBreadcrumb/DsfrBreadcrumb.stories.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import { expect, within } from '@storybook/test'
2+
import type { Meta, StoryFn } from '@storybook/vue3'
3+
14
import DsfrBreadcrumb from './DsfrBreadcrumb.vue'
25

36
/**
@@ -26,7 +29,7 @@ export default {
2629
description: 'Label du bouton d\'affichage du fil d’Ariane',
2730
},
2831
},
29-
}
32+
} as Meta<typeof DsfrBreadcrumb>
3033

3134
const secondLinkText = 'Lien deux'
3235
const currentPageText = 'Lien 3 avec plein de texte et patati et patata'
@@ -45,7 +48,7 @@ const links = [
4548
},
4649
]
4750

48-
export const FilDAriane = (args) => ({
51+
export const FilDAriane: StoryFn<typeof DsfrBreadcrumb> = (args) => ({
4952
components: { DsfrBreadcrumb },
5053
data () {
5154
return args
@@ -56,7 +59,22 @@ export const FilDAriane = (args) => ({
5659
/>
5760
`,
5861
})
59-
6062
FilDAriane.args = {
6163
links,
6264
}
65+
FilDAriane.play = async ({ canvasElement }) => {
66+
const canvas = within(canvasElement)
67+
const breadcrumb1 = canvas.getByText(FilDAriane.args?.links?.at(0)?.text as string)
68+
expect(breadcrumb1).toBeVisible()
69+
expect(breadcrumb1).toHaveProperty('href')
70+
expect(breadcrumb1).not.toHaveAttribute('aria-current', 'page')
71+
const breadcrumb2 = canvas.getByText(FilDAriane.args?.links?.at(1)?.text as string)
72+
expect(breadcrumb2).toBeVisible()
73+
expect(breadcrumb2).toHaveAttribute('href')
74+
expect(breadcrumb2.href).toContain(FilDAriane.args?.links?.at(1)?.to)
75+
expect(breadcrumb2).not.toHaveAttribute('aria-current', 'page')
76+
const breadcrumb3 = canvas.getByText(FilDAriane.args?.links?.at(2)?.text as string)
77+
expect(breadcrumb3).toBeVisible()
78+
expect(breadcrumb3).not.toHaveAttribute('href')
79+
expect(breadcrumb3).toHaveAttribute('aria-current', 'page')
80+
}

0 commit comments

Comments
 (0)