diff --git a/packages/elements/src/components/ino-radio-group/ino-radio-group.e2e.ts b/packages/elements/src/components/ino-radio-group/ino-radio-group.e2e.ts
deleted file mode 100644
index 43b0957004..0000000000
--- a/packages/elements/src/components/ino-radio-group/ino-radio-group.e2e.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { E2EElement, E2EPage } from '@stencil/core/testing';
-import { setupPageWithContent } from '../../util/e2etests-setup';
-
-describe('InoRadioGroup', () => {
- let page: E2EPage;
- let radioGroup: E2EElement;
- let radioGroupWrapper: E2EElement;
-
- beforeEach(async () => {
- page = await setupPageWithContent(`
-
-
-
-
-
- `);
- radioGroup = await page.find('ino-radio-group');
- radioGroupWrapper = await page.find('ino-radio-group > div');
- });
-
- async function simulateArrow(
- arrow: 'ArrowUp' | 'ArrowDown' | 'ArrowRight' | 'ArrowLeft',
- ): Promise {
- await radioGroupWrapper.press(arrow);
- return page.waitForChanges();
- }
-
- it('should check first radio in group on ArrowDown', async () => {
- const eventSpy = await page.spyOnEvent('valueChange');
- await simulateArrow('ArrowDown');
- expect(eventSpy).toHaveReceivedEventDetail('a');
- });
-
- it('should check second radio in group on ArrowDown if first one is checked', async () => {
- radioGroup.setAttribute('value', 'a');
- await page.waitForChanges();
- const eventSpy = await page.spyOnEvent('valueChange');
- await simulateArrow('ArrowDown');
- expect(eventSpy).toHaveReceivedEventDetail('b');
- });
-
- it('should check first radio in group on ArrowDown if last one is checked', async () => {
- radioGroup.setAttribute('value', 'c');
- await page.waitForChanges();
- const eventSpy = await page.spyOnEvent('valueChange');
- await simulateArrow('ArrowDown');
- expect(eventSpy).toHaveReceivedEventDetail('a');
- });
-
- it('should check last radio in group on ArrowUp if first one is checked', async () => {
- radioGroup.setAttribute('value', 'a');
- await page.waitForChanges();
- const eventSpy = await page.spyOnEvent('valueChange');
- await simulateArrow('ArrowUp');
- expect(eventSpy).toHaveReceivedEventDetail('c');
- });
-});
diff --git a/packages/storybook/src/stories/ino-radio-group/ino-radio-group.spec.ts b/packages/storybook/src/stories/ino-radio-group/ino-radio-group.spec.ts
new file mode 100644
index 0000000000..ba2a5e8493
--- /dev/null
+++ b/packages/storybook/src/stories/ino-radio-group/ino-radio-group.spec.ts
@@ -0,0 +1,34 @@
+import { expect, test } from '@playwright/test';
+import { goToStory } from '../test-utils';
+
+test.describe('ino-radio-group', () => {
+ test.beforeEach(async ({ page }) => {
+ await goToStory(page, ['Input', 'ino-radio-group', 'default']);
+ });
+
+ test('should have grouped three radios', async ({ page }) => {
+ const inoRadioGroup = page.locator('ino-radio-group');
+ const radios = inoRadioGroup.getByRole('radio');
+ await expect(radios).toHaveCount(3);
+ await expect(inoRadioGroup).toHaveAttribute('value', 'opt-2');
+ });
+
+ test('should check radios with arrow keys', async ({ page }) => {
+ const inoRadioGroup = page.locator('ino-radio-group');
+ await expect(inoRadioGroup).toHaveAttribute('value', 'opt-2');
+ await inoRadioGroup.press('Tab');
+
+ await inoRadioGroup.press('ArrowUp');
+ await expect(inoRadioGroup).toHaveAttribute('value', 'opt-1');
+ await inoRadioGroup.press('ArrowUp');
+ await expect(inoRadioGroup).toHaveAttribute('value', 'opt-3');
+ await inoRadioGroup.press('ArrowDown');
+ await expect(inoRadioGroup).toHaveAttribute('value', 'opt-1');
+ await inoRadioGroup.press('ArrowRight');
+ await expect(inoRadioGroup).toHaveAttribute('value', 'opt-2');
+ await inoRadioGroup.press('ArrowRight');
+ await expect(inoRadioGroup).toHaveAttribute('value', 'opt-3');
+ await inoRadioGroup.press('ArrowLeft');
+ await expect(inoRadioGroup).toHaveAttribute('value', 'opt-2');
+ });
+});