externalabstractList <Item_Type>
Hierarchy
Index
Constructors
Methods
Screenplay Pattern
Constructors
externalconstructor
Type parameters
- Item_Type
Parameters
externalcollection: Answerable<Item_Type[]>
Returns List<Item_Type>
Methods
staticexternalof
Type parameters
Parameters
externalcollection: Answerable<IT[]> & ChainableMetaQuestion<CT, RQT>
Returns MetaList<CT, IT>
externaldescribedAs
Changes the description of this object, as returned by
Describable.describedByandDescribable.toString.Parameters
externaldescription: Answerable<string> | MetaQuestion<Item_Type[], Question<Promise<string>>>
Replaces the current description according to the following rules:
- If
descriptionis anAnswerable, it replaces the current description - If
descriptionis aMetaQuestion, the current description is passed ascontexttodescription.of(context), and the result replaces the current description
- If
Returns this
externaldescribedBy
Resolves the description of this object in the context of the provided
actor.Parameters
externalactor: AnswersQuestions & UsesAbilities & HasName
Returns Promise<string>
externaltoString
Returns a human-readable description of this object.
Returns string
externalforEach
Parameters
externalcallback: (current: CurrentItem<Item_Type>, index: number, items: Item_Type[]) => void | Promise<void>
Returns Task
externalabstracteachMappedTo
Type parameters
- Mapped_Item_Type
Parameters
externalquestion: MetaQuestion<Item_Type, Question<Mapped_Item_Type | Promise<Mapped_Item_Type>>>
Returns List<Mapped_Item_Type>
externalabstractwhere
Parameters
externalexpectation: Expectation<Item_Type>
Returns List<Item_Type>
externalabstractcount
Returns QuestionAdapter<number>
externalabstractfirst
Returns QuestionAdapter<Item_Type>
externalabstractlast
Returns QuestionAdapter<Item_Type>
externalabstractnth
Parameters
externalindex: number
Returns QuestionAdapter<Item_Type>
externalansweredBy
Parameters
externalactor: AnswersQuestions & UsesAbilities
Returns Promise<Item_Type[]>
Screenplay Pattern
publicexternalas
Maps this question's resolved answer to a QuestionAdapter of a different type.
Provide a function to transform the resolved answer:
import { Question } from '@serenity-js/core'
const number = Question.about('number returned as text', () => '42')
.as(Number)
const name = Question.about('name with whitespace', () => ' Alice ')
.as(value => value.trim())
const firstValue = Question.about('available values', () => ['first', 'second'])
.as(values => values[0])Alternatively, provide a constructor. When you call
.as(MyClass), Serenity/JS passes the resolved answer asMyClass's sole constructor argument. This is particularly useful when wrapping a mounted UI component in an Interaction Object for component testing:const card = story('components/UserCard/Default', { name: 'Alice' }).as(UserCard)To distinguish a mapping function from a constructor, Serenity/JS calls the mapping as a function first. If that throws a
TypeErrorand the mapping has aprototype(indicating an ES6 class), Serenity/JS retries withnew. This preserves the primitive result ofNumber(42), rather than producing aNumberwrapper object.Learn more
Type parameters
- O
Parameters
externalmapping: (answer: Item_Type[]) => O | Promise<O>
A function that transforms the resolved answer, or a constructor that receives it as its sole argument.
Returns QuestionAdapter<O>
A QuestionAdapter that resolves to the mapped answer.
Serenity/JS Screenplay Pattern-style wrapper around
Arrayand array-like structures - seePageElement.