From e3655d663970d563073c1dacb6f9c0e68484265a Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Mon, 15 Nov 2021 18:02:04 -0300 Subject: [PATCH] 18215: Adds test. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- .../collection-service.test.ts | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/src/services/collection-service/collection-service.test.ts b/src/services/collection-service/collection-service.test.ts index 061a45ec..c0aa85f1 100644 --- a/src/services/collection-service/collection-service.test.ts +++ b/src/services/collection-service/collection-service.test.ts @@ -2,30 +2,53 @@ // // SPDX-License-Identifier: AGPL-3.0 -import { AxiosInstance } from 'axios'; -import { WebDAV } from 'common/webdav'; -import { ApiActions } from '../api/api-actions'; +import axios, { AxiosInstance } from 'axios'; +import MockAdapter from 'axios-mock-adapter'; +import { CollectionResource } from 'models/collection'; import { AuthService } from '../auth-service/auth-service'; import { CollectionService } from './collection-service'; describe('collection-service', () => { let collectionService: CollectionService; - let serverApi; + let serverApi: AxiosInstance; + let axiosMock: MockAdapter; let webdavClient: any; let authService; let actions; beforeEach(() => { - serverApi = {} as AxiosInstance; + serverApi = axios.create(); + axiosMock = new MockAdapter(serverApi); webdavClient = { delete: jest.fn(), } as any; authService = {} as AuthService; - actions = {} as ApiActions; + actions = { + progressFn: jest.fn(), + } as any; collectionService = new CollectionService(serverApi, webdavClient, authService, actions); collectionService.update = jest.fn(); }); + describe('update', () => { + it('should call put selecting updated fields + others', async () => { + serverApi.put = jest.fn(() => Promise.resolve({ data: {} })); + const data: Partial = { + name: 'foo', + }; + const expected = { + collection: { + ...data, + preserve_version: true, + }, + select: ['uuid', 'name', 'version', 'modified_at'], + } + collectionService = new CollectionService(serverApi, webdavClient, authService, actions); + await collectionService.update('uuid', data); + expect(serverApi.put).toHaveBeenCalledWith('/collections/uuid', expected); + }); + }); + describe('deleteFiles', () => { it('should remove no files', async () => { // given -- 2.30.2