saleor-dashboard/cypress/apiRequests/Attribute.js
Karolina Rakoczy 283e714202
tests for pages (#1222)
* tests for pages

* fix tests

* fix imports

* tests for pages

* add wait

* tests for pages

* fix weight recalculate
2021-07-27 10:57:17 +02:00

84 lines
1.6 KiB
JavaScript

export function createAttribute({
name,
attributeValues = ["value"],
type = "PRODUCT_TYPE",
inputType = "DROPDOWN"
}) {
const values = attributeValues.map(element => `{name:"${element}"}`);
const mutation = `mutation{
attributeCreate(input:{
name:"${name}"
valueRequired:false
type:${type}
values: [${values}]
inputType: ${inputType}
}){
attribute{
id
name
choices(first: 100){
edges{
node{
name
}
}
}
}
attributeErrors{
field
message
}
}
}`;
return cy
.sendRequestWithQuery(mutation)
.its("body.data.attributeCreate.attribute");
}
export function getAttributes(first, search) {
const mutation = `query{
attributes(first:${first}, filter:{
search:"${search}"
}){
edges{
node{
id
name
}
}
}
}`;
return cy
.sendRequestWithQuery(mutation)
.then(resp => resp.body.data.attributes.edges);
}
export function deleteAttribute(attributeId) {
const mutation = `mutation{
attributeDelete(id:"${attributeId}"){
attributeErrors{
field
message
}
}
}`;
return cy.sendRequestWithQuery(mutation);
}
export function getAttribute(attributeId) {
const query = `query{
attribute(id:"${attributeId}"){
id
inputType
name
slug
type
entityType
valueRequired
visibleInStorefront
availableInGrid
unit
}
}`;
return cy.sendRequestWithQuery(query).its("body.data.attribute");
}