|
|
@@ -3,75 +3,69 @@ import Connection from '~/services/connection/connection'
|
|
|
import axios from '~/plugins/Data/axios'
|
|
|
import { HTTP_METHOD, QUERY_TYPE } from '~/types/enums'
|
|
|
|
|
|
-let $connection:any
|
|
|
const axiosMock = axios as jest.Mocked<NuxtAxiosInstance>
|
|
|
|
|
|
beforeAll(() => {
|
|
|
- $connection = new Connection()
|
|
|
Connection.initConnector(axiosMock)
|
|
|
})
|
|
|
|
|
|
describe('invoke()', () => {
|
|
|
- it('should throw an error if the method is unknown', () => {
|
|
|
- expect(() => $connection.invoke('GETS', 'users', { type: QUERY_TYPE.MODEL })).toThrow()
|
|
|
- })
|
|
|
-
|
|
|
describe('getItem()', () => {
|
|
|
it('should return item data', async () => {
|
|
|
Connection.connector.$request = jest.fn().mockReturnValue({ data: 'data user 1' })
|
|
|
- const response = await $connection.invoke(HTTP_METHOD.GET, 'users', { type: QUERY_TYPE.MODEL })
|
|
|
+ const response = await Connection.invoke(HTTP_METHOD.GET, 'users', { type: QUERY_TYPE.MODEL })
|
|
|
expect(response).toStrictEqual({ data: 'data user 1' })
|
|
|
})
|
|
|
|
|
|
it('should call getItem', async () => {
|
|
|
- $connection.getItem = jest.fn().mockReturnValue({})
|
|
|
- await $connection.invoke(HTTP_METHOD.GET, 'users', { type: QUERY_TYPE.MODEL, id: 1 })
|
|
|
- expect($connection.getItem).toHaveBeenCalled()
|
|
|
+ Connection.getItem = jest.fn().mockReturnValue({})
|
|
|
+ await Connection.invoke(HTTP_METHOD.GET, 'users', { type: QUERY_TYPE.MODEL, id: 1 })
|
|
|
+ expect(Connection.getItem).toHaveBeenCalled()
|
|
|
})
|
|
|
})
|
|
|
|
|
|
describe('getCollection()', () => {
|
|
|
it('should return collection data', async () => {
|
|
|
Connection.connector.$request = jest.fn().mockReturnValue([{ data: 'data user 1' }, { data: 'data user 2' }])
|
|
|
- const response = await $connection.invoke(HTTP_METHOD.GET, 'users', { type: QUERY_TYPE.MODEL })
|
|
|
+ const response = await Connection.invoke(HTTP_METHOD.GET, 'users', { type: QUERY_TYPE.MODEL })
|
|
|
expect(response).toStrictEqual([{ data: 'data user 1' }, { data: 'data user 2' }])
|
|
|
})
|
|
|
it('should call getCollection and return collection data', async () => {
|
|
|
- $connection.getCollection = jest.fn().mockReturnValue({})
|
|
|
- await $connection.invoke(HTTP_METHOD.GET, 'users', { type: QUERY_TYPE.MODEL })
|
|
|
- expect($connection.getCollection).toHaveBeenCalled()
|
|
|
+ Connection.getCollection = jest.fn().mockReturnValue({})
|
|
|
+ await Connection.invoke(HTTP_METHOD.GET, 'users', { type: QUERY_TYPE.MODEL })
|
|
|
+ expect(Connection.getCollection).toHaveBeenCalled()
|
|
|
})
|
|
|
})
|
|
|
|
|
|
describe('put()', () => {
|
|
|
it('should throw an error if data missing', async () => {
|
|
|
- expect(() => $connection.invoke(HTTP_METHOD.PUT, 'users', { type: QUERY_TYPE.MODEL })).toThrow()
|
|
|
+ expect(() => Connection.invoke(HTTP_METHOD.PUT, 'users', { type: QUERY_TYPE.MODEL })).toThrow()
|
|
|
})
|
|
|
|
|
|
it('should return item data', async () => {
|
|
|
Connection.connector.$request = jest.fn().mockReturnValue({ data: 'data user 1' })
|
|
|
- const response = await $connection.invoke(HTTP_METHOD.PUT, 'users', { type: QUERY_TYPE.MODEL, id: 1, data: {} })
|
|
|
+ const response = await Connection.invoke(HTTP_METHOD.PUT, 'users', { type: QUERY_TYPE.MODEL, id: 1, data: {} })
|
|
|
expect(response).toStrictEqual({ data: 'data user 1' })
|
|
|
})
|
|
|
|
|
|
it('should call put and return item data', async () => {
|
|
|
- $connection.put = jest.fn().mockReturnValue({})
|
|
|
- await $connection.invoke(HTTP_METHOD.PUT, 'users', { type: QUERY_TYPE.MODEL, id: 1, data: {} })
|
|
|
- expect($connection.put).toHaveBeenCalled()
|
|
|
+ Connection.put = jest.fn().mockReturnValue({})
|
|
|
+ await Connection.invoke(HTTP_METHOD.PUT, 'users', { type: QUERY_TYPE.MODEL, id: 1, data: {} })
|
|
|
+ expect(Connection.put).toHaveBeenCalled()
|
|
|
})
|
|
|
})
|
|
|
|
|
|
describe('deleteItem()', () => {
|
|
|
it('should delete item', async () => {
|
|
|
Connection.connector.$request = jest.fn().mockReturnValue({})
|
|
|
- const response = await $connection.invoke(HTTP_METHOD.DELETE, 'users', { type: QUERY_TYPE.MODEL, id: 1 })
|
|
|
+ const response = await Connection.invoke(HTTP_METHOD.DELETE, 'users', { type: QUERY_TYPE.MODEL, id: 1 })
|
|
|
expect(response).toStrictEqual({})
|
|
|
})
|
|
|
|
|
|
it('should call deleteItem', async () => {
|
|
|
- $connection.deleteItem = jest.fn().mockReturnValue({})
|
|
|
- await $connection.invoke(HTTP_METHOD.DELETE, 'users', { type: QUERY_TYPE.MODEL, id: 1 })
|
|
|
- expect($connection.deleteItem).toHaveBeenCalled()
|
|
|
+ Connection.deleteItem = jest.fn().mockReturnValue({})
|
|
|
+ await Connection.invoke(HTTP_METHOD.DELETE, 'users', { type: QUERY_TYPE.MODEL, id: 1 })
|
|
|
+ expect(Connection.deleteItem).toHaveBeenCalled()
|
|
|
})
|
|
|
})
|
|
|
})
|