Jasmine is a very simple testing framework, which comes with an API that allows you to write Behavior-driven Development (BDD) style tests. BDD is an agile software development process of defining specifications in a written format.
In BDD, we define that an agile user story consists of multiple scenarios. These scenarios closely relate to or even replace the acceptance criteria of a story. They define requirements on a higher level, and they are mostly written narrative. Each scenario then consists of three parts:
Given: This part is used to describe the initial state of the scenario. The test code is where we perform all the setup that is needed to execute the test scenario.
When: This part reflects the changes that we perform to the system under test. Usually, this part consists of some API calls and actions that reflect the behavior of a user of the system.
Then: This part specifies what the system should look like after the given state and the changes applied...