Я нашел это! Я сейчас использую ax ios -mock-адаптер. Это отлично работает. Я немного изменил метод, потому что во время теста я получил предупреждения:
(node:49889) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'get' of undefined
$ ax ios не определено, если кто-то знает, как я могу это исправить, пожалуйста, дайте мне знать!
Я настроил тест следующим образом:
import axios from "~/plugins/axios";
const MockAdapter = require("axios-mock-adapter");
const mock = new MockAdapter(axios);
import {shallowMount} from "@vue/test-utils"
test("get events", async () => {
mock.onGet("events")
.reply(200, [
{"day": "2018-03-01", "amount": 3069},
{"day": "2018-03-02", "amount": 3468},
{"day": "2018-03-03","amount": 3602}
])
await wrapper.vm.getEvents()
expect(wrapper.vm.$data.labels).toStrictEqual(["2018-03-01", "2018-03-02", "2018-03-03"])
expect(wrapper.vm.$data.chartdata).toStrictEqual([3069, 3468, 3602])
})
И метод:
async getEvents() {
this.loading = true
await axios({
method: "get",
url: "events"
})
.then(response => {
if (response.status === 200) {
this.parseEventData(response.data)
}
this.loading = false
})
.catch(() => {
this.loading = false
this.error = true
})
},