saleor-dashboard/cypress/apiRequests/Checkout.js

157 lines
3.5 KiB
JavaScript
Raw Normal View History

import { getDefaultAddress, getVariantsLines } from "./utils/Utils";
export function createCheckout({
channelSlug,
email,
productQuantity = 1,
variantsList,
address,
billingAddress,
auth = "auth"
}) {
const lines = getVariantsLines(variantsList, productQuantity);
const shippingAddress = getDefaultAddress(address, "shippingAddress");
const billingAddressLines = getDefaultAddress(
billingAddress,
"billingAddress"
);
const mutation = `mutation{
checkoutCreate(input:{
channel:"${channelSlug}"
email:"${email}"
lines: [${lines.join()}]
${shippingAddress}
${billingAddressLines}
}){
checkoutErrors{
field
message
}
created
checkout{
id
availableShippingMethods{
name
}
}
}
}`;
return cy
.sendRequestWithQuery(mutation, auth)
.its("body.data.checkoutCreate.checkout");
}
export function addShippingMethod(checkoutId, shippingMethodId) {
const mutation = `mutation{
checkoutShippingMethodUpdate(checkoutId:"${checkoutId}",
shippingMethodId:"${shippingMethodId}"){
checkoutErrors{
message
field
}
}
}`;
return cy.sendRequestWithQuery(mutation);
}
export function addPayment(checkoutId, gateway, token) {
const mutation = `mutation{
checkoutPaymentCreate(checkoutId:"${checkoutId}",
input:{
gateway: "${gateway}"
token:"${token}"
}){
paymentErrors{
field
message
}
}
}`;
return cy
.sendRequestWithQuery(mutation)
.its("body.data.checkoutPaymentCreate");
}
export function completeCheckout(checkoutId) {
const mutation = `mutation{
checkoutComplete(checkoutId:"${checkoutId}"){
order{
id
}
confirmationNeeded
confirmationData
checkoutErrors{
field
message
}
}
}`;
return cy
.sendRequestWithQuery(mutation)
.its("body.data.checkoutComplete.order");
}
export function addVoucher(checkoutId, voucherCode) {
const mutation = `mutation addVoucher{
checkoutAddPromoCode(checkoutId:"${checkoutId}",
promoCode:"${voucherCode}"
){
checkoutErrors{
field
message
}
checkout{
totalPrice{
gross{
amount
}
}
}
}
}`;
return cy.sendRequestWithQuery(mutation);
}
export function checkoutVariantsUpdate(checkoutId, variantsList) {
const lines = getVariantsLines(variantsList, 1);
const mutation = `mutation{
checkoutLinesUpdate(checkoutId:"${checkoutId}",
lines: [${lines.join()}]){
checkoutErrors{
field
message
}
}
}`;
return cy.sendRequestWithQuery(mutation);
}
export function checkoutShippingMethodUpdate(checkoutId, shippingMethodId) {
const mutation = `mutation{
checkoutShippingMethodUpdate(checkoutId:"${checkoutId}" shippingMethodId:"${shippingMethodId}"){
checkoutErrors{
field
message
}
}
}`;
return cy
.sendRequestWithQuery(mutation)
.its("body.data.checkoutShippingMethodUpdate");
}
export function checkoutShippingAddressUpdate(checkoutId, address) {
const shippingAddress = getDefaultAddress(address, "shippingAddress");
const mutation = `mutation{
checkoutShippingAddressUpdate(checkoutId:"${checkoutId}",
${shippingAddress}
){
checkoutErrors{
field
message
}
}
}`;
return cy.sendRequestWithQuery(mutation);
}