Skip to content

5.1.0 (2022-10-14)

Features

  • story could define its actor #696 5547ada

5.0.0 (2022-07-21)

Code Refactoring

  • earthquake #627 f2b793f

Features

  • add argument and variable placeholders #704 24ed603
  • declare argument including validation #605 ccc0308
  • declare argument without validation #602 a599aec
  • declare variable including validation #606 670f879
  • declare variable without validation #591 d760230
  • deny to assign undeclared variable #680 b1a99aa
  • deny to pass undeclared arguments #681 9705232
  • execute steps in given order #664 076c656
  • implement @initiate decorator #324 f747b5d
  • implement @initiate restrictions #649 d4d24d4
  • propagate exceptions #631 fbb87b4
  • state union merge variable validators #688 cf9afc4
  • story call should return none #630 0622d21
  • story steps could assign state variable #693 0c30861

BREAKING CHANGES

  • The old codebase was removed. The library was redesigned from scratch. A lot of existed functionality was removed. Contrib integrations was moved to separate repositories. The goal of the library stays the same. Allow to express domain knowledge inside codebase with minimal friction. The approach we took is similar with the old one but most of design flaws was fixed in new version.

4.1.0 (2020-11-20)

Features

4.0.0 (2020-11-12)

Build System

BREAKING CHANGES

  • drop python 3.6 support.

3.0.0 (2020-10-01)

Features

BREAKING CHANGES

  • All usage of the Skip() marker should be replaced with Next() marker.

2.0.0 (2020-08-30)

Code Refactoring

BREAKING CHANGES

  • Due to the our new policy of enterprise user support we will drop abandoned version of python and libraries we are integrated with as soon as they reach official end of life.

1.0.2 (2020-07-31)

Bug Fixes

  • deny to use same story step twice (d379956)

1.0.1 (2020-06-26)

Bug Fixes

  • prevent story to call itself recursively (4a7007a)

1.0.0 (2020-05-22)

Features

  • deprecate substories defined within the class (c5d7930), closes #388

BREAKING CHANGES

  • Substories defined in the same class do not deserve special treatment. From now they require to have different context contracts and failure protocols. They will be interpreted the same way as if they were defined in the other class. Shortcuts module have been removed.

0.15.0 (2020-04-16)

Features

0.14.0 (2020-03-21)

Features

  • support marshmallow v3 as a context contract definition (a87c0c4)

0.13.0 (2020-03-14)

Features

  • use assignment expression instead of Success keyword arguments (9756571)

0.12.0 (2020-03-06)

Features

  • support coroutine functions as story step definitions (55cbfda)

0.11.2 (2020-03-02)

Bug Fixes

  • hide context private attributes in closure (f8144aa)
  • hide failure and success summary private attributes in closure (eae4e95)
  • hide FailureError private attributes in closure (1fafcc1)
  • hide story private attributes in closure (9e79e14)

0.11.1 (2020-02-28)

Bug Fixes

  • deny to define stories without steps (5067546)

0.11.0 (2020-02-14)

Features

  • Add context contract to the story. Success keyword arguments can be validated by contract definition in the story.
  • Raise MutationError when some story method tries to set or delete context attribute directly.
  • Only keyword arguments are allowed to call and run the story.
  • Raise StoryDefinitionError when arguments decorator is used incorrectly.
  • migrate to pydantic v1.x (9049eae)

0.10.2 (2020-02-11)

Bug Fixes

  • prevent generated changelog from style guide violation (7d4047d)

0.10.1 (2019-05-31)

  • Fix pytest reporter to work with fixture functions and pytest-bdd plugin properly.

0.10 (2019-02-27)

  • Add failure protocol of the story. Failure argument should match protocol definition in the story.
  • Replace multiple argument decorators with single arguments.
  • Raise ContextContractError when keyword argument given to Success already exists in the context.
  • Raise ContextContractError when the story can not find necessary arguments in the context.
  • Make context an immutable object.
  • Python 3.7 support.

0.9 (2018-11-28)

  • Enforce I noun with non callable attributes in the story definition.
  • Context is passed as an argument into story step methods.
  • Pass real class instances into step method.
  • Show story execution path in the Context representation.
  • Add Sentry, Py.test and Django Debug Toolbar plugins with Context reporter built in.
  • Raise an exception on Failure when the story was called directly.
  • Support iterable protocol in the Context class.
  • Add Failure reason.
  • Fix Skip result behavior in deeper sub-story hierarchy.

0.8 (2018-05-12)

  • Add dir() and repr() support to the context class.
  • Failed result holds a link to the context.

0.7 (2018-05-06)

  • Add run interface to the story.

0.6 (2018-04-19)

  • Representation methods for story, context and point result classes.
  • Python 2 support.

0.5 (2018-04-07)

  • Do not execute nested stories of the skipped story.

0.4 (2018-04-07)

  • Package was rewritten with linearization algorithm.
  • Skip result was added to finish nested stories without finish the caller.

0.0.3 (2018-04-06)

  • Nested stories support.

0.0.2 (2018-04-03)

  • Fix class and instance attribute access.
  • Validate return values.
  • Make context append only.

0.0.1 (2018-04-02)

  • Initial release.

— ⭐ —