EARS: When a seller selects items from an offer, the system shall accept the selection only if it names items the offer holds and includes every item the offer marks mandatory.
Story: As a seller, I want to leave out the optional items of an offer, so that the customer pays only for what they chose.
Acceptance criteria:
-
ONE-401.1: If a selection names an item the offer does not hold, then the system shall reject the selection.
-
ONE-401.2: If a selection leaves out an item the offer marks mandatory, then the system shall reject the selection.
-
ONE-401.3: When a selection is accepted, the system shall take every offer item it names and no other.
-
ONE-401.4: When a selection is accepted, the system shall include at least one item the offer marks mandatory.
An item without the mandatory mark is optional. An empty selection is not
rejected here: a request that selects nothing from any offer is rejected when
the order is created (createOrder), since an order holds at least one
item. The guide also asks a selection to name the passengers each item was
built for; the model does not check that.