refactor: wire remaining request actions
This commit is contained in:
@@ -119,21 +119,24 @@ type RESTSession = {
|
||||
testResults: HoppTestResult | null
|
||||
}
|
||||
|
||||
const defaultRESTSession: RESTSession = {
|
||||
request: {
|
||||
v: RESTReqSchemaVersion,
|
||||
endpoint: "https://httpbin.org/get",
|
||||
params: [],
|
||||
headers: [],
|
||||
method: "GET",
|
||||
preRequestScript: "// pw.env.set('variable', 'value');",
|
||||
testScript: "// pw.expect('variable').toBe('value');",
|
||||
body: {
|
||||
contentType: "application/json",
|
||||
body: "",
|
||||
isRaw: false,
|
||||
},
|
||||
const defaultRESTRequest: HoppRESTRequest = {
|
||||
v: RESTReqSchemaVersion,
|
||||
endpoint: "https://httpbin.org/get",
|
||||
name: "Untitled request",
|
||||
params: [],
|
||||
headers: [],
|
||||
method: "GET",
|
||||
preRequestScript: "// pw.env.set('variable', 'value');",
|
||||
testScript: "// pw.expect('variable').toBe('value');",
|
||||
body: {
|
||||
contentType: "application/json",
|
||||
body: "",
|
||||
isRaw: false,
|
||||
},
|
||||
}
|
||||
|
||||
const defaultRESTSession: RESTSession = {
|
||||
request: defaultRESTRequest,
|
||||
response: null,
|
||||
testResults: null,
|
||||
}
|
||||
@@ -144,6 +147,14 @@ const dispatchers = defineDispatchers({
|
||||
request: req,
|
||||
}
|
||||
},
|
||||
setRequestName(curr: RESTSession, { newName }: { newName: string }) {
|
||||
return {
|
||||
request: {
|
||||
...curr.request,
|
||||
name: newName,
|
||||
},
|
||||
}
|
||||
},
|
||||
setEndpoint(curr: RESTSession, { newEndpoint }: { newEndpoint: string }) {
|
||||
const paramsInNewURL = getParamsInURL(newEndpoint)
|
||||
const updatedParams = recalculateParams(
|
||||
@@ -362,6 +373,10 @@ export function setRESTRequest(req: HoppRESTRequest) {
|
||||
})
|
||||
}
|
||||
|
||||
export function resetRESTRequest() {
|
||||
setRESTRequest(defaultRESTRequest)
|
||||
}
|
||||
|
||||
export function setRESTEndpoint(newEndpoint: string) {
|
||||
restSessionStore.dispatch({
|
||||
dispatcher: "setEndpoint",
|
||||
@@ -371,6 +386,15 @@ export function setRESTEndpoint(newEndpoint: string) {
|
||||
})
|
||||
}
|
||||
|
||||
export function setRESTRequestName(newName: string) {
|
||||
restSessionStore.dispatch({
|
||||
dispatcher: "setRequestName",
|
||||
payload: {
|
||||
newName,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
export function addRESTParam(newParam: HoppRESTParam) {
|
||||
restSessionStore.dispatch({
|
||||
dispatcher: "addParam",
|
||||
@@ -507,6 +531,11 @@ export const restRequest$ = restSessionStore.subject$.pipe(
|
||||
distinctUntilChanged()
|
||||
)
|
||||
|
||||
export const restRequestName$ = restRequest$.pipe(
|
||||
pluck("name"),
|
||||
distinctUntilChanged()
|
||||
)
|
||||
|
||||
export const restEndpoint$ = restSessionStore.subject$.pipe(
|
||||
pluck("request", "endpoint"),
|
||||
distinctUntilChanged()
|
||||
@@ -608,3 +637,11 @@ export function useRESTRequestBody(): Ref<HoppRESTReqBody> {
|
||||
setRESTReqBody
|
||||
)
|
||||
}
|
||||
|
||||
export function useRESTRequestName(): Ref<string> {
|
||||
return useStream(
|
||||
restRequestName$,
|
||||
restSessionStore.value.request.name,
|
||||
setRESTRequestName
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user