Skip to content
Closed
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
19 changes: 12 additions & 7 deletions .github/workflows/elixir.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,6 @@ jobs:
MINIO_HOST_FOR_CLICKHOUSE: "172.17.0.1"
MIX_TEST_PARTITION: ${{ matrix.mix_test_partition }}


- run: mix test --include slow --include migrations --max-failures 1 --warnings-as-errors --partitions 6
if: env.MIX_ENV == 'ce_test'
env:
Expand Down Expand Up @@ -219,8 +218,7 @@ jobs:

- name: Install E2E Playwright Browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
working-directory: ./e2e
run: npx playwright install --with-deps chromium
run: npx --prefix ./e2e playwright install --with-deps chromium

- name: Run E2E Playwright tests
run: npm --prefix ./e2e test -- --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} --reporter=blob
Expand All @@ -243,7 +241,7 @@ jobs:
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: 23.2.0
cache: 'npm'
cache: "npm"
cache-dependency-path: e2e/package-lock.json
- name: Install dependencies
run: npm --prefix ./e2e ci
Expand All @@ -254,10 +252,17 @@ jobs:
path: all-e2e-blob-reports
pattern: e2e-blob-report-*
merge-multiple: true

- name: Merge into list report
working-directory: ./e2e
run: npx playwright merge-reports --reporter list ../all-e2e-blob-reports
run: npx --prefix ./e2e playwright merge-reports all-e2e-blob-reports --reporter list,html && ls ./**

- name: Upload E2E HTML report to GitHub Actions Artifacts
if: ${{ !cancelled() }}
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: e2e-html-report
path: playwright-report
retention-days: 1
archive: false

static:
name: Static checks (format, credo, dialyzer)
Expand Down
1 change: 1 addition & 0 deletions e2e/playwright.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ export default defineConfig({
reporter: 'list',
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
use: {
screenshot: 'on-first-failure',
/* Base URL to use in actions like `await page.goto('')`. */
baseURL,

Expand Down
49 changes: 8 additions & 41 deletions e2e/tests/dashboard/filtering.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -569,8 +569,7 @@ test.describe('location filtering tests', () => {
name: 'pageview',
country_code: 'EE',
subdivision1_code: 'EE-37',
city_geoname_id: 588_409,
browser: 'Chrome'
city_geoname_id: 588_409
}
]
})
Expand Down Expand Up @@ -619,18 +618,6 @@ test.describe('location filtering tests', () => {
await test.step('filtering by city', async () => {
const cityFilterRow = filterRow(page, 'city')
const cityInput = page.getByPlaceholder('Select a City')
const browserFilterRow = filterRow(page, 'browser')
const browserInput = page.getByPlaceholder('Select a Browser', {
exact: true
})

// Add a browser filter so city ends up as the 4th pill. This ensures it overflows
// into "See more" regardless of viewport width.
await filterButton(page).click()
await filterItemButton(page, 'Browser').click()
await browserInput.fill('chrom')
await suggestedItem(browserFilterRow, 'Chrome').click()
await applyFilterButton(page).click()

await filterButton(page).click()
await locationFilterButton(page).click()
Expand All @@ -640,7 +627,9 @@ test.describe('location filtering tests', () => {

await applyFilterButton(page).click()

await page.getByRole('button', { name: /See.*more/ }).click()
await page
.getByRole('button', { name: 'See 1 more filter and actions' })
.click()
await expect(
page.getByRole('link', { name: 'City is Tallinn' })
).toBeVisible()
Expand Down Expand Up @@ -769,9 +758,7 @@ test.describe('operating system filtering tests', () => {
{
name: 'pageview',
operating_system: 'Windows',
operating_system_version: '11',
browser: 'Chrome',
browser_version: '14.0.7'
operating_system_version: '11'
},
{
name: 'pageview',
Expand Down Expand Up @@ -811,28 +798,6 @@ test.describe('operating system filtering tests', () => {
const operatingSystemVersionInput = page.getByPlaceholder(
'Select an Operating system version'
)
const browserFilterRow = filterRow(page, 'browser')
const browserVersionFilterRow = filterRow(page, 'browser_version')
const browserInput = page.getByPlaceholder('Select a Browser', {
exact: true
})
const browserVersionInput = page.getByPlaceholder(
'Select a Browser Version'
)

// Add browser and browser version filters so OS version ends up as the 4th pill.
// This ensures it overflows into "See more" regardless of viewport width
await filterButton(page).click()
await filterItemButton(page, 'Browser').click()
await browserInput.fill('chrom')
await suggestedItem(browserFilterRow, 'Chrome').click()
await applyFilterButton(page).click()

await filterButton(page).click()
await filterItemButton(page, 'Browser').click()
await browserVersionInput.fill('14')
await suggestedItem(browserVersionFilterRow, '14.0.7').click()
await applyFilterButton(page).click()

await filterButton(page).click()
await operatingSystemFilterButton(page).click()
Expand All @@ -842,7 +807,9 @@ test.describe('operating system filtering tests', () => {

await applyFilterButton(page).click()

await page.getByRole('button', { name: /See.*more/ }).click()
await page
.getByRole('button', { name: 'See 1 more filter and actions' })
.click()
await expect(
page.getByRole('link', { name: 'Operating system version is 11' })
).toBeVisible()
Expand Down
Loading