@@ -263,6 +263,10 @@ export type BeforeEach<TRenderer extends Renderer = Renderer, TArgs = Args> = (
263263 context : StoryContext < TRenderer , TArgs >
264264) => Awaitable < CleanupCallback | void > ;
265265
266+ export type AfterEach < TRenderer extends Renderer = Renderer , TArgs = Args > = (
267+ context : StoryContext < TRenderer , TArgs >
268+ ) => Awaitable < void > ;
269+
266270export interface Canvas { }
267271
268272export interface StoryContext < TRenderer extends Renderer = Renderer , TArgs = Args >
@@ -381,6 +385,17 @@ export interface BaseAnnotations<TRenderer extends Renderer = Renderer, TArgs =
381385 */
382386 beforeEach ?: BeforeEach < TRenderer , TArgs > [ ] | BeforeEach < TRenderer , TArgs > ;
383387
388+ /**
389+ * Function to be called after each play function for post-test assertions.
390+ * Don't use this function for cleaning up state.
391+ * You can use the return callback of `beforeEach` for that, which is run when switching stories.
392+ * When the function is async, it will be awaited.
393+ *
394+ * `afterEach` can be added to preview, the default export and to a specific story.
395+ * They are run (and awaited) reverse order: preview, default export, story
396+ */
397+ afterEach ?: AfterEach < TRenderer , TArgs > [ ] | BeforeEach < TRenderer , TArgs > ;
398+
384399 /**
385400 * Define a custom render function for the story(ies). If not passed, a default render function by the renderer will be used.
386401 */
0 commit comments