saleor-dashboard/cypress/support/api/requests/Collections.js

105 lines
2 KiB
JavaScript
Raw Normal View History

export function createCollection(name, slug = name) {
const mutation = `mutation {
collectionCreate(input:{
name:"${name}",
slug:"${name}"
}){
2022-06-06 08:47:39 +00:00
errors{
field
message
}
collection{
name
id
}
}
}`;
return cy
.sendRequestWithQuery(mutation)
.its("body.data.collectionCreate.collection");
}
export function getCollections(first, search) {
const filter = search
? `, filter:{
search:"${search}"
2021-02-24 13:21:19 +00:00
}`
: "";
const query = `query{
collections(first:${first} ${filter}){
edges{
node{
id
name
slug
2021-02-24 13:21:19 +00:00
}
}
}
}`;
return cy
.sendRequestWithQuery(query)
.then(resp => resp.body.data.collections.edges);
}
export function deleteCollection(collectionId) {
const mutation = `mutation{
collectionDelete(id:"${collectionId}"){
collection{
id
}
2022-06-06 08:47:39 +00:00
errors{
field
message
}
}
}`;
return cy.sendRequestWithQuery(mutation);
2021-02-24 13:21:19 +00:00
}
export function addProductToCollection({ collectionId, productId }) {
const mutation = `mutation addProduct {
collectionAddProducts(
collectionId: "${collectionId}"
products: ["${productId}"]
) {
collection{
products(first:100){
totalCount
edges{
node{
id
name
}
}
}
}
errors {
message
}
}
}`;
return cy.sendRequestWithQuery(mutation);
}
export function addChannelToCollection({
collectionId,
channelId,
isPublished = true,
}) {
const mutation = `mutation collectionChannelListingUpdate {
collectionChannelListingUpdate(
id: "${collectionId}",
input: {
addChannels: {
channelId: "${channelId}"
isPublished: ${isPublished}
}
}) {
errors {
field
message
}
}
}`;
return cy.sendRequestWithQuery(mutation);
}