Acceptance test library commands
Functionality noted in this topic is available to targeted users as part of a preview release. The content and the functionality are subject to change. For more information about preview releases, see Service update availability.
Command classes are responsible for running business operations. They let you use fluent application programming interfaces (APIs) to set the parameters of these operations.
In this naming convention:
<ModuleName>is based on the names of the modules on the main menu. You should use a short version or an abbreviation to support brevity of test code.
<EntityName>is optional and is used when the command applies to different types of entities.
<ExecuteBusinessOperation>is a verb that represents the name of the business operation.
Command objects that are returned should implement the
AtlICommand interface and should inherit from the
Command objects should provide fluent setter methods that are used to set the parameters of the command.
Fluent setter methods
Commands allow for two types of fluent setter methods,
for methods and
for – These methods are used for command parameters that represent the entities that the command applies to.
For example, the invoice command can apply to sales orders. Therefore, a
formethod is used to set the sales order that the invoice command applies to.
set – These methods are used for all other parameters of the command.
For example, when you reserve a sales line, you usually specify a quantity. The quantity isn't something that the command applies to but is instead a simple parameter of the command. Therefore, a
setmethod is used to specify the quantity parameter of the reservation command.
In this naming convention,
<CommandParameterName> is the name of the parameter that is being set for the command by using the fluent method.
onHandAdjustment.forItem(item).setQuantity(10).execute(); picking.forSalesLine(salesLine).setInventDims([warehouse, batch1]).setQuantity(10).execute();