refactor: wire remaining request actions

This commit is contained in:
liyasthomas
2021-07-25 11:15:53 +05:30
parent 4508e309c2
commit 56c2e1094d
10 changed files with 122 additions and 103 deletions

View File

@@ -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
)
}