Skip to content

fix(sparkasse): update selectors for the redesigned search results page - #495

Merged
orangecoding merged 2 commits into
orangecoding:masterfrom
nmehlei:fix/sparkasse-redesigned-selectors
Oct 28, 2026
Merged

orangecoding merged 2 commits into
orangecoding:masterfrom
nmehlei:fix/sparkasse-redesigned-selectors

Conversation

@nmehlei

@nmehlei nmehlei commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

The Sparkasse search page was redesigned: cards no longer carry data-id="estate-list-item" or the .estate-* classes, so the provider logs No elements in crawl container found and returns nothing (broken on my instance since 2026-10-20, still broken on 30.1.1 and master). Cards are now [data-testid="estate-teaser"]. This moves the container and the title/price/address selectors to the new testids and reads size and rooms from the main-facts block by label, since each fact is optional.

Also re-records the search fixture and adds a test that every card yields its fields.

Related issue

none

AI disclosure (required)

  • ai:assisted - AI helped with parts of it (autocomplete, refactoring, tests, docs). I reviewed and understand every line.

Which AI: Claude Code, Sonnet 5.5

How much: the selector change, the fixture re-recording and the new test were drafted with Claude Code; I reviewed every line and ran the checks.

Why: the site redesign broke Sparkasse on my instance and I wanted the fix upstream.

Checklist

  • yarn test:offline passes (the live tests were not run)
  • yarn lint and yarn format:check pass
  • The change is useful for everybody, not a custom tweak for my own setup
  • I have read and answered the AI disclosure above honestly

The cards no longer carry data-id="estate-list-item" or the .estate-* classes, so the crawl container
matched nothing. Cards are now data-testid="estate-teaser"; read title, price, address from their
testids and size/rooms from the main-facts block by label (each fact is optional).

Re-record the search fixture with the new markup and add a test that every card yields its fields.
* Licensed under Apache-2.0 with Commons Clause and Attribution/Naming Clause
*/

import { describe, it, expect } from 'vitest';

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

why did you write a new test and did not update the existing one sparkasse.test.js?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good point, there was no reason for a separate file. I moved the card assertions into sparkasse.test.js as an additional it and removed sparkasseSearchCards.test.js. It parses the recorded fixture offline, so the selectors are checked on every run even when the live portal isn't reachable.

@orangecoding
orangecoding merged commit d0baaaa into orangecoding:master Oct 28, 2026
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