Historia cen - liczby takze tam, gdzie nie ma jeszcze ogloszen
Deploy Polska Lokalnie / deploy (push) Successful in 21s

Dzielnica bez wlasnych ogloszen miala na wykresie pelne serie NBP i GUS,
ale naglowek i wszystkie cztery rubryki pokazywaly kreski.

- brak ogloszen: naglowek i rubryki licza srednia z NBP i GUS w kwartale
- podpis mowi wprost, ze to dane transakcyjne dla calego miasta
- tytul, cena i zmiana procentowa staja w jednej linii
- "Zmiana w okresie" przy jednym zapisie ma podpis "Za krotka historia"

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-25 08:47:57 +02:00
parent 09d4b2f32b
commit 517e80d6bd
3 changed files with 79 additions and 17 deletions
+26 -1
View File
@@ -1,5 +1,5 @@
import { test, expect, type Page } from '@playwright/test';
import { ROUTES, listingPath, negotiationPath, ADMIN_CONVERSATION_SLUG, conversationPath, newConversationPath, paymentPath } from '../src/routes';
import { ROUTES, listingPath, negotiationPath, ADMIN_CONVERSATION_SLUG, conversationPath, newConversationPath, paymentPath, priceHistoryPath } from '../src/routes';
// Standard projektu (AGENTS.md): kazdy widok ma wlasny URL obslugiwany przez React Router,
// a nawigacja odbywa sie przez <Link>/<NavLink>. Te testy pilnuja tej zasady.
@@ -748,3 +748,28 @@ test.describe('Nawigacja mobilna', () => {
await expect(page.locator('.nav')).toBeVisible();
});
});
// Dzielnica bez wlasnych ogloszen nadal ma na wykresie ceny transakcyjne dla calego miasta -
// naglowek i rubryki licza wtedy srednia z NBP i GUS, zamiast pokazywac same kreski.
test.describe('Historia cen', () => {
test('rubryki pokazuja liczby takze tam, gdzie nie ma jeszcze ogloszen', async ({ page }) => {
await goto(page, priceHistoryPath('Gdańsk, Wrzeszcz'));
await expect(page.locator('.history-chart-title-row strong')).not.toHaveText('—');
await expect(page.locator('.history-source-note')).toContainText(/NBP i GUS|Polska Lokalnie/);
// Najnizsza, najwyzsza i srednia maja sens przy jednym punkcie; zmiana w okresie wymaga dwoch,
// wiec jej nie sprawdzamy - ma wtedy wlasny podpis "Za krotka historia".
const values = page.locator('.history-stat-grid article strong');
await expect(values).toHaveCount(4);
for (const index of [0, 1, 3]) {
await expect(values.nth(index)).not.toHaveText('—');
}
});
test('bez wybranej lokalizacji nie zmyslamy zadnych liczb', async ({ page }) => {
await goto(page, ROUTES.priceHistory);
await expect(page.locator('.history-chart-title-row strong')).toHaveText('—');
await expect(page.locator('.history-chart-empty')).toContainText('Wybierz lokalizację');
});
});