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