Вызов Cypress graphql apollo не дает результата и повторяет попытку автоматически

#graphql #cypress #apollo #fixtures #quasar

#graphql #cypress #apollo #приспособления #quasar

Вопрос:

Проблема в том, что вместо mocked я получил экран загрузки с неразрешенным запросом, Cypress предпринял несколько попыток повторно запросить его снова, и сообщений об ошибках нет.

Я использую Cypress из Quasar-testing harness. Я бы хотел имитировать graphql вызов.

В моем компоненте у меня есть apollo запрос:

 apollo: {
  assetsOverview: {
    query: ASSETS_OVERVIEW,
    loadingKey: 'loading'
  }
}
 

Для этой цели я использую приспособления таким образом:

 cy.intercept('POST', api, req => {
  if (req.body.operationName === 'getAssetOverview') {
    // This condition works just fine
    req.reply({
      fixture: 'asset-table.json'
    })
  }
})
 

Мой прибор выглядит так:

 { 
  "assetsOverview": {
    "assetMetrics": [
      {
        "assetId": "todo-conveyor",
        "assetName": "Conveyor belts",
        "childAssetIds": null,
        "oeeMetrics": {
          "availability": null,
          "oee": null,
          "performance": null,
          "quality": null,
          "__typename": "AssetOeeMetrics"
        },
        "stateMetrics": {
          "blocked": null,
          "failed": null,
          "idle": null,
          "running": null,
          "stopped": null,
          "__typename": "AssetStateMetrics"
        },
        "__typename": "AssetMetrics"
      }
    ],
    "__typename": "AssetMetricsOverview"
  }
}
 

Ответ №1:

Понял, что я должен обернуть свой объект fixtures внутри data .

Вот так:

 {
  "data": {
    "assetsOverview": {
      "assetMetrics": [
        ...
      ]
    }
  }
}