Add a Recipe/steps field to brew logging
Test and deploy / test-and-deploy (push) Successful in 1m16s
Test and deploy / test-and-deploy (push) Successful in 1m16s
Free-text recipe (bloom, pours, timings) distinct from tasting notes and next-time notes: new brews.recipe column (migration 007), form textarea, shown under the recipe summary in brew history, carried by Brew again, included in backups and the OpenAPI spec. Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5
parent
16d5af83f7
commit
f781930832
@@ -149,10 +149,12 @@ test("brews: validation, update, filter by bean, method taxonomy", async () => {
|
||||
grinder: "Comandante",
|
||||
grindSetting: "22 clicks",
|
||||
rating: 8,
|
||||
recipe: "inverted · fill to 230 g · stir 3× · steep 2:00 · press 30 s",
|
||||
tastingNotes: "sweet, cocoa, round body",
|
||||
});
|
||||
assert.equal(created.status, 201);
|
||||
assert.equal(created.body.brew.rating, 8);
|
||||
assert.equal(created.body.brew.recipe, "inverted · fill to 230 g · stir 3× · steep 2:00 · press 30 s");
|
||||
|
||||
const updated = await agent
|
||||
.put(`/api/brews/${created.body.brew.id}`)
|
||||
@@ -162,6 +164,7 @@ test("brews: validation, update, filter by bean, method taxonomy", async () => {
|
||||
assert.equal(updated.body.brew.rating, 6);
|
||||
assert.equal(updated.body.brew.method, "aeropress"); // untouched fields survive
|
||||
assert.equal(updated.body.brew.tastingNotes, "sweet, cocoa, round body");
|
||||
assert.equal(updated.body.brew.recipe.startsWith("inverted"), true);
|
||||
|
||||
const bean = (
|
||||
await agent.post("/api/beans").set("x-csrf-token", csrf).send({ name: "B" })
|
||||
|
||||
Reference in New Issue
Block a user