.
Some checks failed
CI / Check (push) Failing after 10m8s
Build and publish Docker image / build-and-push (push) Successful in 11m9s

This commit is contained in:
Andras Schmelczer 2026-06-18 08:09:00 +01:00
parent 36ec4003a3
commit fdd7a5c763
2 changed files with 23 additions and 5 deletions

View file

@ -397,7 +397,7 @@ describe('LocationSearch', () => {
});
});
it('keeps only the three most recent local searches', async () => {
it('keeps only the ten most recent local searches', async () => {
vi.stubGlobal(
'fetch',
vi.fn((input: string | URL | Request) => {
@ -416,8 +416,22 @@ describe('LocationSearch', () => {
render(<LocationSearch onFlyTo={vi.fn()} onLocationSearched={vi.fn()} />);
// Search eleven distinct postcodes; only the ten most recent should be kept.
const postcodes = [
'SW1A 1AA',
'E14 2DG',
'W1A 1AA',
'EC1A 1BB',
'N1 1AA',
'M1 1AE',
'B33 8TH',
'CR2 6XH',
'DN55 1PT',
'L1 8JQ',
'G1 1AA',
];
const input = screen.getByRole('textbox');
for (const postcode of ['SW1A 1AA', 'E14 2DG', 'W1A 1AA', 'EC1A 1BB']) {
for (const postcode of postcodes) {
fireEvent.change(input, { target: { value: postcode } });
fireEvent.keyDown(input, { key: 'Enter' });
@ -432,13 +446,13 @@ describe('LocationSearch', () => {
const stored = JSON.parse(window.localStorage.getItem(RECENT_SEARCHES_STORAGE_KEY) ?? '[]') as {
label?: string;
}[];
expect(stored.map((search) => search.label)).toEqual(['EC1A 1BB', 'W1A 1AA', 'E14 2DG']);
// Most recent first, oldest ('SW1A 1AA') dropped past the limit of ten.
expect(stored.map((search) => search.label)).toEqual([...postcodes].reverse().slice(0, 10));
fireEvent.focus(input);
await waitFor(() => {
expect(screen.getByRole('button', { name: 'EC1A 1BB' })).toBeTruthy();
expect(screen.getByRole('button', { name: 'W1A 1AA' })).toBeTruthy();
expect(screen.getByRole('button', { name: 'G1 1AA' })).toBeTruthy();
expect(screen.getByRole('button', { name: 'E14 2DG' })).toBeTruthy();
});
expect(screen.queryByText('SW1A 1AA')).toBeNull();

View file

@ -45,6 +45,10 @@ const KEEP_UNKNOWN_LISTING_FILTER_FEATURES: &[&str] = &[
"Leasehold/Freehold",
"Number of bedrooms & living rooms",
"Property type",
"Construction year",
"Interior height (m)",
"Current energy rating",
"Potential energy rating"
];
const LISTING_BOUNDS_EPSILON_DEGREES: f64 = 0.00001;