Skip to content

Commit

Permalink
test(dev): add media plugin to studio e2e & test (#7236)
Browse files Browse the repository at this point in the history
* test(dev): add media plugin to studio e2e

* test(dev): add test

* test: update test id

* test(e2e): update e2e media tests
  • Loading branch information
RitaDias authored Aug 12, 2024
1 parent 43b9969 commit 12d1411
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 20 deletions.
1 change: 1 addition & 0 deletions dev/studio-e2e-testing/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"sanity": "workspace:*",
"sanity-plugin-media": "^2.3.1",
"sanity-plugin-mux-input": "^2.2.1",
"sanity-test-studio": "workspace:*",
"styled-components": "^6.1.0"
Expand Down
2 changes: 2 additions & 0 deletions dev/studio-e2e-testing/sanity.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import {BookIcon} from '@sanity/icons'
import {visionTool} from '@sanity/vision'
import {defineConfig} from 'sanity'
import {structureTool} from 'sanity/structure'
import {media} from 'sanity-plugin-media'
import {muxInput} from 'sanity-plugin-mux-input'
import {imageAssetSource} from 'sanity-test-studio/assetSources'
import {resolveDocumentActions as documentActions} from 'sanity-test-studio/documentActions'
Expand Down Expand Up @@ -91,6 +92,7 @@ export default defineConfig({
}),
// eslint-disable-next-line camelcase
muxInput({mp4_support: 'standard'}),
media(),
],
beta: {
treeArrayEditing: {
Expand Down
51 changes: 31 additions & 20 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 31 additions & 0 deletions test/e2e/tests/plugins/media.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import {expect} from '@playwright/test'
import {test} from '@sanity/test'

test('media plugin should open from input', async ({page, createDraftDocument}) => {
await createDraftDocument('/test/content/input-standard;imagesTest')

// wait for input to be visible
await expect(await page.getByTestId('change-bar__field-wrapper').nth(2)).toBeVisible()

// wait for menu to be visible and click menu button
await expect(await page.locator('#mainImage_assetImageButton')).toBeVisible()
await page.locator('#mainImage_assetImageButton').click()

// wait for menu to open, click the menu item for media
await expect(await page.getByTestId('file-input-browse-button-media')).toBeVisible()
await page.getByTestId('file-input-browse-button-media').click()

// check that it didn't crash
await expect(await page.getByRole('button', {name: 'Insert image imagesTest'})).toBeVisible()
})

test('open media plugin from navbar', async ({page, createDraftDocument}) => {
await createDraftDocument('/test/')
await expect(page.getByTestId('parent-config-studio-tool-menu')).toBeVisible()

// click media plugin
await page.getByRole('link', {name: 'Media'}).click()

// check that it didn't crash
await expect(await page.getByRole('button', {name: 'Browse Assets Upload assets'})).toBeVisible()
})

0 comments on commit 12d1411

Please sign in to comment.