insomnia/packages/insomnia-smoke-test/tests/prerelease/plugins-interactions.test.ts
Pavlos Koutoglou 7eb3725781
Tabs accessibility (#4944)
* Create a wrapper Tab component

* Used the new Tabs component and remove the button from children from grpc-tabbed-messages

* Used the new Tabs component and remove the button from children from grpc-request-pane

* Used the new Tabs component and remove the button from children from response-pane

* Used the new Tabs component and remove the button from children from request-pane

* Used the new Tabs component and remove the button from children from git-repository-settings-modal

* Used the new Tabs component and remove the button from children from settings-modal

* Used the new Tabs component and remove the button from children from workspace-settings-modal

* Used the new Tabs component and remove the button from children from generate-config-modal

* Used the new Tabs component and remove the button from children from cookie-modify-modal

* Used the new Tabs component and remove the button from children from markdown-editor

* Use react-aria tabs instead of react-tabs

* Delete react-tabs dependency

* Use new tabs component and replace markdown-editor with styled-component instead of using less css

* Created query editor component with styled-components instead of using less css

* Update index.css

* Use new tabs component into cookie-modify-modal

* Use new tabs in general-config-modal

* Use new tabs in settings-modal

* Use new tabs in workspace-settings-modal

* Use new tabs in git-repository-settings-modal

* Use new tabs in request-pane

* Use new tabs in response-pane

* Use new tabs in grpc-request-pane

* Use new tabs in grpc-tabbed-messages

* Use new geury editor component and new tab implementation in websocket-request-pane

* Use new tabs in websockets-response-pane

* Change the package-lock.json file

* Remove className props from TabItemProps

* Fix rendering issue with tabs children and move action buttons above the nested tabs

* Added nested tabs option

* Added nested styling

* Made the grpc-tabbed-messages to be nested tabs

* Fix issue with styles into tablist

* Move less styles to styles component

* Fixed style issue with borders when tab is selected

* Fix styling issues with nested tabs

* Added aria labels for all tabs

* Fixed tab tests

* Fix issue with plugings test

* Remove the outline from selected tab

* Fix scrolling issue with some tab panels

* Remove outline from activity toggle

* Add failing test for the Declarative config and kong kubernetes

* Fixed issue with generate config modal into the panel

* docs and ws request body styling

Co-authored-by: Filipe Freire <livrofubia@gmail.com>
Co-authored-by: gatzjames <jamesgatzos@gmail.com>
2022-11-11 19:38:30 +01:00

44 lines
1.6 KiB
TypeScript

import { expect } from '@playwright/test';
import { test } from '../../playwright/test';
test.describe('Plugins', async () => {
test('Open plugins menu and generate plugin', async ({ page }) => {
// Opening settings
await page.locator('[data-testid="settings-button"]').click();
// Switching to Plugins tab
await page.locator('div[role="tab"]:has-text("Plugins")').click();
// Generate new plugin
await page.locator('text=Generate New Plugin').click();
await page.locator('text=Generate').first().click();
// check if the plugin shows up on the plugin list
await expect(page.locator('.app')).toContainText('insomnia-plugin-demo-example');
});
test('Check Declarative Config and Kong Kubernetes config', async ({ page }) => {
// Switch to design tab
await page.click('text=Design');
// Set example OpenAPI spec
await page.click('text=start from an example');
await expect(page.locator('.app')).toContainText('This is a sample server Petstore server');
// Open declarative config
await page.click('button:has-text("New Document")');
await page.click('button:has-text("Declarative Config")');
// Check for declarative config contents
await page.click('text=/.*"_format_version".*/');
// Switch to Kong for Kubernetes tab
await page.click('div[role="tab"]:has-text("Kong for Kubernetes")');
// Check for Kong for Kubernetes contents
await page.click('text=apiVersion: networking.k8s.io/v1');
});
// TODO: more scenarios will be added in follow-up iterations of increasing test coverage
});