externalMetaList <Supported_Context_Type, Item_Type>
Hierarchy
- List<Item_Type>
- MetaList
Implements
- ChainableMetaQuestion<Supported_Context_Type, MetaList<Supported_Context_Type, Item_Type>>
Index
Constructors
Methods
Screenplay Pattern
Constructors
externalconstructor
Type parameters
- Supported_Context_Type
- Item_Type
Parameters
externalcollection: Answerable<Item_Type[]> & ChainableMetaQuestion<Supported_Context_Type, Question<Promise<Item_Type[]>> | Question<Item_Type[]>>
Returns MetaList<Supported_Context_Type, Item_Type>
Methods
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
externalansweredBy
Parameters
externalactor: AnswersQuestions & UsesAbilities
Returns Promise<Item_Type[]>
externalof
Answers the given
ChainableMetaQuestionin the context of anotherAnswerableand returns anotherChainableMetaQuestionready for further chaining.Learn more
Parameters
externalcontext: Answerable<Supported_Context_Type>
Returns MetaList<Supported_Context_Type, Item_Type>
externaleachMappedTo
Type parameters
- Mapped_Item_Type
Parameters
externalquestion: MetaQuestion<Item_Type, Question<Mapped_Item_Type | Promise<Mapped_Item_Type>>>
Returns MetaList<Supported_Context_Type, Mapped_Item_Type>
externalwhere
Parameters
externalexpectation: Expectation<Item_Type>
Returns MetaList<Supported_Context_Type, Item_Type>
externalcount
Returns MetaQuestionAdapter<Supported_Context_Type, number>
externalfirst
Returns MetaQuestionAdapter<Supported_Context_Type, Item_Type>
externallast
Returns MetaQuestionAdapter<Supported_Context_Type, Item_Type>
externalnth
Parameters
externalindex: number
Returns MetaQuestionAdapter<Supported_Context_Type, 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 a
ChainableMetaQuestionrepresenting a collection that can be resolved inSupported_Context_Typeof anotherQuestion.For example,
PageElements.locatedreturnsMetaList<PageElement>, which allows for the collection of page elements to be resolved in the context of dynamically-provided root element.