testing

  • Full-text search that did not need a search engine

    A search cluster running for one feature on 40,000 rows. The operational cost was larger than the feature it served.

  • Rendering a block template in a test

    A block theme has no PHP for a unit test to call, and the nearest equivalent is rendering the template and asserting on the markup. go_to sets the…

  • Laravel 9 moved to Symfony 6 and took PHP 8 with it

    February, the first annual major, and a version number that means less than it used to. The work is two packages that block everything.

  • Testing a block theme without a browser

    A theme with no PHP has nothing a unit test can call, and the only test is a person looking at a page.

  • Elasticsearch 8 turns security on and removes types

    February, and a major that changes the default posture rather than the API. The cluster starts and nothing can connect to it.

  • A theme.json schema check in CI

    A typo in a theme.json key is silently ignored, which means a setting that does nothing looks exactly like a setting that works. The published schema is versioned…

  • An audit log that a lawyer could read

    A dispute, and a log that recorded that something changed. “Order updated” with no before, no after and no actor.

  • A test that queries for data it did not create

    A test calling first() depends on whatever happens to be in the database, which is an ordering dependency nobody wrote down. The failure only appears under a randomised…

  • A visual baseline belongs in a container, not on a laptop

    Font rendering, device pixel ratio and browser version all differ between a developer machine and a CI runner, and a screenshot comparison notices all three. A zero pixel…

  • A block theme is a directory of HTML files

    5.9 on 25 January, and templates/ replaces the template hierarchy. A theme with 41 PHP templates and an editor that cannot see any of them.