Skip to content

Test against real Lambda Feedback exports - #41

Merged
peterbjohnson merged 2 commits into
devfrom
wb/t19
Sep 19, 2026
Merged

peterbjohnson merged 2 commits into
devfrom
wb/t19

Conversation

@peterbjohnson

Copy link
Copy Markdown
Member

in2lambda writes files for Lambda Feedback to import, but nothing checks its output against what Lambda Feedback actually produces. We have a real exported question set, and we will accumulate many more; adding one to the test data should never require changing code.

Done when a real export is part of the test data, the suite loads it, writes it back and compares, and dropping another export beside it is picked up on its own. The filter tests need the same treatment: they name each filter by hand, so a new filter is covered only if someone remembers.

The first real export is already on main in tests/fixtures/exports/, with a README describing the export's JSON. Those files are exactly as Lambda Feedback wrote them and must stay that way.


Workbench ticket t19.

@m-messer m-messer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The filter refactor is a great change.

Testing an exported version of a set from LF is a great idea, but I think it is the wrong implementation. If the LF import schema changes, the test code won't detect it, and all test documents will become stale and need to be regenerated. A more complex but more robust approach would be to provide a file to in2lambda, send it to staging or some specific test environment, and then export the set to validate the entire end-to-end pipeline.

@m-messer m-messer assigned peterbjohnson and unassigned m-messer Sep 16, 2026
@peterbjohnson
peterbjohnson changed the base branch from main to dev September 19, 2026 22:03
@peterbjohnson

Copy link
Copy Markdown
Member Author

Thanks — agreed that a staging round trip is the stronger test, and it's the right thing to add once there is an import endpoint to call; today the docs only describe uploading a zip in the teacher UI, so nothing in the package can drive it.

In the meantime the fixture test still earns its place: it is what stops the writer emitting keys Lambda Feedback never exports, and it runs offline in seconds. If the import schema changes, the fixture is re-exported from Lambda Feedback and the diff shows exactly what moved — that is a feature, not staleness.

We're integrating on a dev branch for now (this PR is retargeted there) so the package work can proceed; dev → main will come as one reviewed PR. I've noted the staging round trip as a follow-up ticket.

@peterbjohnson
peterbjohnson merged commit 00acb3f into dev Sep 19, 2026
4 checks passed
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