Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
712 changes: 712 additions & 0 deletions tests/e2e-playwright/specs/search/search.spec.ts

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions tests/e2e-playwright/steps/api/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,15 @@ export async function userHasCreatedFiles({
}: {
usersEnvironment: UsersEnvironment
stepUser: string
files: { pathToFile: string; content: string }[]
files: { pathToFile: string; content: string; mtimeDeltaDays?: string }[]
}): Promise<void> {
const user = usersEnvironment.getUser({ key: stepUser })
for (const file of files) {
await api.dav.uploadFileInPersonalSpace({
user,
pathToFile: file.pathToFile,
content: file.content
content: file.content,
mtimeDeltaDays: file.mtimeDeltaDays
})
}
}
Expand Down
7 changes: 2 additions & 5 deletions tests/e2e-playwright/steps/ui/resources.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ export async function searchGloballyWithFilter({
actorsEnvironment: ActorsEnvironment
stepUser: string
keyword: string
filter: string
filter: searchFilter
command?: string
}): Promise<void> {
keyword = keyword ?? ''
Expand All @@ -99,7 +99,7 @@ export async function searchGloballyWithFilter({
const resourceObject = new objects.applicationFiles.Resource({ page })
await resourceObject.searchResource({
keyword,
filter: filter as searchFilter,
filter: filter,
pressEnter
})
}
Expand Down Expand Up @@ -433,9 +433,6 @@ export async function userClosesFileViewer({
await editor.close(page)
}

// When "Brian" deletes the following resources using the sidebar panel
// | resource | from |
// | lorem-big.txt | folder_to_shared_2 |
export async function userDeletesResources({
actorsEnvironment,
stepUser,
Expand Down
40 changes: 40 additions & 0 deletions tests/e2e-playwright/steps/ui/search.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,43 @@ export async function userClearsFilter({
const searchObject = new objects.applicationFiles.Search({ page })
await searchObject.clearFilter({ filter })
}

export async function userEnablesTitleOnlySearch({
actorsEnvironment,
stepUser
}: {
actorsEnvironment: ActorsEnvironment
stepUser: string
}): Promise<void> {
const { page } = actorsEnvironment.getActor({ key: stepUser })
const searchObject = new objects.applicationFiles.Search({ page })
await searchObject.toggleSearchTitleOnly({ enableOrDisable: 'enable' })
}

export async function userFiltersSearchByMediaType({
actorsEnvironment,
stepUser,
mediaType
}: {
actorsEnvironment: ActorsEnvironment
stepUser: string
mediaType: string
}): Promise<void> {
const { page } = actorsEnvironment.getActor({ key: stepUser })
const searchObject = new objects.applicationFiles.Search({ page })
await searchObject.selectMediaTypeFilter({ mediaType })
}

export async function userFiltersSearchByLastModifiedDate({
actorsEnvironment,
stepUser,
lastModified
}: {
actorsEnvironment: ActorsEnvironment
stepUser: string
lastModified: string
}): Promise<void> {
const { page } = actorsEnvironment.getActor({ key: stepUser })
const searchObject = new objects.applicationFiles.Search({ page })
await searchObject.selectlastModifiedFilter({ lastModified })
}
1 change: 1 addition & 0 deletions tests/e2e/support/objects/a11y/actions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ export const selectors = {
filesSpaceTableCheckbox: '#files-space-table .oc-checkbox',
uploadMenuDropdown: '#upload-menu-drop',
appSidebar: '#app-sidebar',
sidebarPanelActions: '#sidebar-panel-actions',
accountInfoContainer: '#account-info-container',
account: '#account',
removeUserModal: '.oc-modal.oc-modal-danger',
Expand Down
19 changes: 17 additions & 2 deletions tests/e2e/support/objects/app-files/resource/actions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1278,7 +1278,17 @@ export const renameResource = async (args: renameResourceArgs): Promise<void> =>
}

await page.locator(util.format(resourceNameSelector, resourceBase)).click({ button: 'right' })
await objects.a11y.Accessibility.assertNoSevereA11yViolations(
page,
['tippyBox'],
'Rename resource tippy box'
)
await page.locator(util.format(filesContextMenuAction, 'rename')).click()
await objects.a11y.Accessibility.assertNoSevereA11yViolations(
page,
['ocModal'],
'Rename resource modal'
)
await page.locator(fileRenameInput).clear()
await page.locator(fileRenameInput).fill(newName)
await Promise.all([
Expand Down Expand Up @@ -1344,8 +1354,8 @@ export const deleteResource = async (args: deleteResourceArgs): Promise<void> =>
await sidebar.openPanel({ page, name: 'actions' })
await objects.a11y.Accessibility.assertNoSevereA11yViolations(
page,
['#app-sidebar'],
'sidebar panel'
['sidebarPanelActions'],
'Sidebar actions panel action before deleting resource'
)
await Promise.all([
page.waitForResponse(
Expand All @@ -1358,6 +1368,11 @@ export const deleteResource = async (args: deleteResourceArgs): Promise<void> =>
])
await sidebar.close({ page })
}
await objects.a11y.Accessibility.assertNoSevereA11yViolations(
page,
['sidebarPanelActions', 'filesView'],
'Sidebar actions panel before deleting resource and files view after deleting resource'
)
break
}

Expand Down
31 changes: 31 additions & 0 deletions tests/e2e/support/objects/app-files/search/actions.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { Page } from '@playwright/test'
import util from 'util'
import { objects } from '../../..'
import { a11y } from '../..'

const searchResultMessageSelector = '//p[@class="oc-text-muted"]'
const selectTagDropdownSelector =
Expand Down Expand Up @@ -45,6 +46,11 @@ export const selectMediaTypeFilter = async ({
page: Page
}): Promise<void> => {
await page.locator(mediaTypeFilterSelector).click()
await objects.a11y.Accessibility.assertNoSevereA11yViolations(
page,
['tippyBox'],
'Media type filter dropdown'
)
await Promise.all([
page.waitForResponse(
(resp) =>
Expand All @@ -55,6 +61,11 @@ export const selectMediaTypeFilter = async ({
page.locator(util.format(mediaTypeFilterItem, mediaType.toLowerCase())).click()
])
await page.locator(mediaTypeOutside).click()
await objects.a11y.Accessibility.assertNoSevereA11yViolations(
page,
['filesView'],
'Files view after selecting media type filter'
)
}

export const selectLastModifiedFilter = async ({
Expand All @@ -65,6 +76,11 @@ export const selectLastModifiedFilter = async ({
page: Page
}): Promise<void> => {
await page.locator(lastModifiedFilterSelector).click()
await objects.a11y.Accessibility.assertNoSevereA11yViolations(
page,
['tippyBox'],
'Last modified filter dropdown'
)
await Promise.all([
page.waitForResponse(
(resp) =>
Expand All @@ -74,6 +90,11 @@ export const selectLastModifiedFilter = async ({
),
page.locator(util.format(lastModifiedFilterItem, lastModified)).click()
])
await objects.a11y.Accessibility.assertNoSevereA11yViolations(
page,
['filesView'],
'Files view after selecting last modified filter'
)
}

export const clearFilter = async ({
Expand All @@ -84,6 +105,11 @@ export const clearFilter = async ({
filter: string
}): Promise<void> => {
await page.locator(util.format(clearFilterSelector, filter)).click()
await a11y.Accessibility.assertNoSevereA11yViolations(
page,
['filesView'],
`Files view after clearing ${filter} filter`
)
}

export const toggleSearchTitleOnly = async ({
Expand All @@ -96,4 +122,9 @@ export const toggleSearchTitleOnly = async ({
const selector =
enableOrDisable === 'enable' ? enableSearchTitleOnlySelector : disableSearchTitleOnlySelector
await page.locator(selector).click()
await objects.a11y.Accessibility.assertNoSevereA11yViolations(
page,
['files'],
'search title only toggle button before toggling'
)
}
5 changes: 5 additions & 0 deletions tests/e2e/support/objects/app-files/utils/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,11 @@ export const open = async ({
}

resource ? await openForResource({ page, resource, resourceType }) : await openGlobal({ page })
await objects.a11y.Accessibility.assertNoSevereA11yViolations(
page,
[sidebarPanel],
'sidebar panel opening'
)
}

export const close = async ({ page }: { page: Page }): Promise<void> => {
Expand Down