externalPutRequest
Hierarchy
- HTTPRequest
- PutRequest
Index
Methods
Screenplay Pattern
Methods
staticexternalto
Parameters
externalresourceUri: Answerable<string>
The URI where the
Actorshould send theHTTPRequest
Returns PutRequest
externaldescribedAs
Changes the description of this object, as returned by
Describable.describedByandDescribable.toString.Parameters
externaldescription: Answerable<string> | MetaQuestion<AxiosRequestConfig<any, any>, 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
externalansweredBy
Parameters
externalactor: AnswersQuestions & UsesAbilities
Returns Promise<AxiosRequestConfig<any, any>>
externalwith
Configures the object with a request body.
Parameters
externaldata: any
Data to be sent to the
resourceUri
Returns PutRequest
externalusing
Parameters
externalconfig: Answerable<{ url?: Answerable<string>; method?: Answerable<string>; baseURL?: Answerable<string>; allowAbsoluteUrls?: Answerable<false> | Answerable<true>; transformRequest?: {} | {}[]; transformResponse?: {} | {}[]; headers?: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any } | { Accept: Answerable<string> | Answerable<number> | Answerable<false> | Answerable<true> | Answerable<string>[] | { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; Content-Length: Answerable<string> | Answerable<number> | Answerable<false> | Answerable<true> | Answerable<string>[] | { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; User-Agent: Answerable<string> | Answerable<number> | Answerable<false> | Answerable<true> | Answerable<string>[] | { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; Content-Encoding: Answerable<string> | Answerable<number> | Answerable<false> | Answerable<true> | Answerable<string>[] | { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; Authorization: Answerable<string> | Answerable<number> | Answerable<false> | Answerable<true> | Answerable<string>[] | { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; Location: Answerable<string> | Answerable<number> | Answerable<false> | Answerable<true> | Answerable<string>[] | { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; link: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; delete: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; get: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; head: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; options: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; post: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; put: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; patch: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; purge: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; unlink: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; query: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; common?: { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any }; Content-Type?: Answerable<string> | Answerable<number> | Answerable<false> | Answerable<true> | Answerable<string>[] | { set: any; get: any; has: any; delete: any; clear: any; normalize: any; concat: any; toJSON: any; setContentType: any; getContentType: any; hasContentType: any; setContentLength: any; getContentLength: any; hasContentLength: any; setAccept: any; getAccept: any; hasAccept: any; setUserAgent: any; getUserAgent: any; hasUserAgent: any; setContentEncoding: any; getContentEncoding: any; hasContentEncoding: any; setAuthorization: any; getAuthorization: any; hasAuthorization: any; getSetCookie: any; toString: any; [iterator]: any } }; params?: any; paramsSerializer?: { visitor?: {}; dots?: Answerable<false> | Answerable<true>; metaTokens?: Answerable<false> | Answerable<true>; indexes?: Answerable<false> | Answerable<true>; maxDepth?: Answerable<number>; Blob?: {}; encode?: {}; serialize?: {} } | {}; data?: any; timeout?: Answerable<number>; timeoutErrorMessage?: Answerable<string>; withCredentials?: Answerable<false> | Answerable<true>; adapter?: {} | Answerable<fetch> | Answerable<xhr> | Answerable<http> | { codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [iterator]: any; padStart: any; padEnd: any; trimEnd: any; trimStart: any; trimLeft: any; trimRight: any; matchAll: any; replaceAll: any; at: any; toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; length: Answerable<number>; substr: any; valueOf: any } | {} | Answerable<"fetch"> | Answerable<"xhr"> | Answerable<"http"> | { readonly [x: number]: Answerable<string>; toString: {}; charAt: {}; ... 47 more ...; [Symbol.iterator]: {}; }[]; auth?: { username: Answerable<string>; password: Answerable<string> }; responseType?: Answerable<text> | Answerable<document> | Answerable<arraybuffer> | Answerable<blob> | Answerable<json> | Answerable<stream> | Answerable<formdata>; responseEncoding?: Answerable<string>; xsrfCookieName?: Answerable<string>; xsrfHeaderName?: Answerable<string>; onUploadProgress?: {}; onDownloadProgress?: {}; maxContentLength?: Answerable<number>; validateStatus?: {}; maxBodyLength?: Answerable<number>; maxRedirects?: Answerable<number>; maxRate?: Answerable<number> | [Answerable<number>, Answerable<number>]; beforeRedirect?: {}; socketPath?: Answerable<string>; allowedSocketPaths?: Answerable<string> | Answerable<string>[]; transport?: any; httpAgent?: any; httpsAgent?: any; proxy?: Answerable<false> | { host: Answerable<string>; port: Answerable<number>; auth?: { username: Answerable<string>; password: Answerable<string> }; protocol?: Answerable<string> }; cancelToken?: { promise: Answerable<Cancel>; reason?: { message: Answerable<string> }; throwIfRequested: any; subscribe: any; unsubscribe: any; toAbortSignal: any }; decompress?: Answerable<false> | Answerable<true>; transitional?: { silentJSONParsing?: Answerable<false> | Answerable<true>; forcedJSONParsing?: Answerable<false> | Answerable<true>; clarifyTimeoutError?: Answerable<false> | Answerable<true>; legacyInterceptorReqResOrdering?: Answerable<false> | Answerable<true>; advertiseZstdAcceptEncoding?: Answerable<false> | Answerable<true>; validateStatusUndefinedResolves?: Answerable<false> | Answerable<true> }; signal?: { aborted: Answerable<false> | Answerable<true>; onabort?: {}; addEventListener?: {}; removeEventListener?: {} }; insecureHTTPParser?: Answerable<false> | Answerable<true>; env?: { FormData?: {}; fetch?: {}; Request?: {}; Response?: {} }; formSerializer?: { visitor?: {}; dots?: Answerable<false> | Answerable<true>; metaTokens?: Answerable<false> | Answerable<true>; indexes?: Answerable<false> | Answerable<true>; maxDepth?: Answerable<number>; Blob?: {} }; family?: Answerable<4> | Answerable<6>; lookup?: {} | {}; withXSRFToken?: Answerable<false> | Answerable<true> | {}; parseReviver?: {}; fetchOptions?: {} | { cache?: Answerable<default> | Answerable<reload> | Answerable<force-cache> | Answerable<no-cache> | Answerable<no-store> | Answerable<only-if-cached>; credentials?: Answerable<include> | Answerable<omit> | Answerable<same-origin>; integrity?: Answerable<string>; keepalive?: Answerable<false> | Answerable<true>; mode?: Answerable<same-origin> | Answerable<cors> | Answerable<navigate> | Answerable<no-cors>; priority?: Answerable<auto> | Answerable<high> | Answerable<low>; redirect?: Answerable<error> | Answerable<follow> | Answerable<manual>; referrer?: Answerable<string>; referrerPolicy?: Answerable<same-origin> | Answerable<> | Answerable<no-referrer> | Answerable<no-referrer-when-downgrade> | Answerable<origin> | Answerable<origin-when-cross-origin> | Answerable<strict-origin> | Answerable<strict-origin-when-cross-origin> | Answerable<unsafe-url>; window?: null }; httpVersion?: Answerable<1> | Answerable<2>; http2Options?: { sessionTimeout?: Answerable<number> }; formDataHeaderPolicy?: Answerable<legacy> | Answerable<content-only>; redact?: Answerable<string>[]; sensitiveHeaders?: Answerable<string>[] }>
Axios request configuration overrides
Returns PutRequest
Screenplay Pattern
externalas
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: AxiosRequestConfig<any, any>) => 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.
The PUT method requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.
PUT request should be used when you want to create a new resource at a known
resourceUri(e.g./books/0-688-00230-7) or replace an existing resource at suchresourceUri.PUT request is idempotent: calling it once or several times successively has the same effect (that is no side effect).
Create a new resource at a known location
Learn more