Depends on the plugin pages issue and on #60.
Once the pages are generated, the interesting question about a change is which
bytes it moved. A golden file per page turns that into a diff a reviewer reads
instead of a claim a reviewer trusts.
Each page is rendered from a fixture roster, not from the real one. A test that
judges against the live data proves the state of the data on the day it ran
rather than the behaviour of the generator, and it goes red for reasons that
have nothing to do with the change under review.
The fixture roster deliberately contains the awkward cases: a sentence with
markup characters in it, a plugin in each state, the longest and shortest names,
and a row with characters outside ASCII.
Updating a golden file is a deliberate act with the diff in the pull request
body, never a flag that regenerates them all quietly.
Done when
Every produced page has a golden file rendered from the fixture roster, a
one-word template change reds exactly the affected goldens, and the update path
requires an explicit command rather than being the default behaviour of the
suite.
Depends on the plugin pages issue and on #60.
Once the pages are generated, the interesting question about a change is which
bytes it moved. A golden file per page turns that into a diff a reviewer reads
instead of a claim a reviewer trusts.
Each page is rendered from a fixture roster, not from the real one. A test that
judges against the live data proves the state of the data on the day it ran
rather than the behaviour of the generator, and it goes red for reasons that
have nothing to do with the change under review.
The fixture roster deliberately contains the awkward cases: a sentence with
markup characters in it, a plugin in each state, the longest and shortest names,
and a row with characters outside ASCII.
Updating a golden file is a deliberate act with the diff in the pull request
body, never a flag that regenerates them all quietly.
Done when
Every produced page has a golden file rendered from the fixture roster, a
one-word template change reds exactly the affected goldens, and the update path
requires an explicit command rather than being the default behaviour of the
suite.