Use case scenarios in Funittest

Scenarios are the basic basic building blocks of your user-centric functional tests

Login scenario

The login scenario is rather simple, and should work for the admin user.
from funittest import scenarios
loginscenario = scenarios.cmfplone.login
from funittest import scenariorunner
runner = scenariorunner.ScenarioConfigurationRunner(loginscenario)
configuration = {'user':'admin'}
runner.run_configuration(configuration)

Navigate to scenario

The navigate to scenario takes two configuration parameters, the user and the context to navigate to.
from funittest import scenarios
navigatetoscenario = scenarios.cmfplone.navigateto
from funittest import scenariorunner
runner = scenariorunner.ScenarioConfigurationRunner(navigatetoscenario)
configuration = {'user':'admin', 'context':'/events'}
runner.run_configuration(configuration)

Add content scenario

In this example, we will add an event to the events folder.
from funittest import scenarios
addcontentscenario = scenarios.cmfplone.addcontent
from funittest import scenariorunner
runner = scenariorunner.ScenarioConfigurationRunner(addcontentscenario)
configuration = {'user':'admin', 'context':'/events', 'content':'event1'}
runner.run_configuration(configuration)

What next?

Now that you know about running scenarios, you should learn about Logical Functional Models, which contain the basic actions a user can perform. Logical Functional Models in Funittest.