Skip to content

E2E: QA Added Umbraco.Test.Search.AcceptanceTest project with initial acceptance tests #70

Open
nhudinh0309 wants to merge 26 commits intomainfrom
qa/add-acceptance-test
Open

E2E: QA Added Umbraco.Test.Search.AcceptanceTest project with initial acceptance tests #70
nhudinh0309 wants to merge 26 commits intomainfrom
qa/add-acceptance-test

Conversation

@nhudinh0309
Copy link
Copy Markdown

@nhudinh0309 nhudinh0309 commented Feb 9, 2026

  • Adds a Playwright-based acceptance test project (Umbraco.Test.Search.AcceptanceTest) covering full-text search, facets, pagination, and sorting
  • Adds a new E2E Tests stage to the Azure Pipeline that publishes the test site, starts it with unattended install (SQLite), runs Playwright against it, and publishes test results

@nhudinh0309 nhudinh0309 marked this pull request as draft February 9, 2026 11:03
@nhudinh0309 nhudinh0309 force-pushed the qa/add-acceptance-test branch from 0e9239d to 21653b4 Compare February 10, 2026 16:31
@nhudinh0309 nhudinh0309 marked this pull request as ready for review February 12, 2026 16:23
Copy link
Copy Markdown

@andr317c andr317c left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had some comments

Comment thread build/azure-pipeline.yml
displayName: E2E Tests (SQLite)
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 30
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we have a timeout?

Comment thread build/azure-pipeline.yml
# Generate HTTPS dev certificate
- script: dotnet dev-certs https --trust
displayName: Generate HTTPS dev certificate
continueOnError: true
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this needed?

Comment thread build/azure-pipeline.yml
continueOnError: true

# Publish and run the test site
- script: dotnet publish src/Umbraco.Web.TestSite.V17/Umbraco.Web.TestSite.V17.csproj --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)/testsite
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this step not only publish it? It does not run anything

Comment thread build/azure-pipeline.yml
- script: dotnet publish src/Umbraco.Web.TestSite.V17/Umbraco.Web.TestSite.V17.csproj --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)/testsite
displayName: Publish test site

# Copy _uSync as sibling of testsite to match Development config path "../_uSync/Shared/"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is meant with "as sibling of testsite"? Is it Copy uSync to be in the same path as the testsite?

Comment thread build/azure-pipeline.yml
Comment on lines +415 to +418
# Install Playwright and dependencies
- pwsh: npx playwright install chromium
displayName: Install Playwright only with Chromium browser
workingDirectory: src/Umbraco.Test.Search.AcceptanceTest
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also install playwright at line 343


await searchPage.expectResultCountGreaterThan(0);
});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

await searchPage.expectResultsForQuery('novel');
await searchPage.expectResultCountGreaterThan(0);
});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

});

test('displays pagination when results exceed page size', async () => {
const resultCount = await searchPage.getResultCount();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this be in the beforeEach?


test('can navigate to next page', async () => {
const resultCount = await searchPage.getResultCount();
if (resultCount <= 5) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this ever is true, then this test is invalid.


await searchPage.expectResultCountGreaterThan(0);
});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants