Create test for GroupsService
authorMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Mon, 2 Jul 2018 10:24:11 +0000 (12:24 +0200)
committerMichal Klobukowski <michal.klobukowski@contractors.roche.com>
Mon, 2 Jul 2018 10:24:11 +0000 (12:24 +0200)
Feature #13702

Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski <michal.klobukowski@contractors.roche.com>

src/services/groups-service/groups-service.test.ts [new file with mode: 0644]

diff --git a/src/services/groups-service/groups-service.test.ts b/src/services/groups-service/groups-service.test.ts
new file mode 100644 (file)
index 0000000..2ace2f5
--- /dev/null
@@ -0,0 +1,42 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+import axios from "axios";
+import MockAdapter from "axios-mock-adapter";
+import GroupsService from "./groups-service";
+
+describe("GroupsService", () => {
+
+    const axiosMock = new MockAdapter(axios);
+
+    beforeEach(() => {
+        axiosMock.reset();
+    });
+
+    it("#contents", async () => {
+        axiosMock
+            .onGet("/groups/1/contents")
+            .reply(200, {
+                kind: "kind",
+                offset: 2,
+                limit: 10,
+                items: [{
+                    modified_at: "now"
+                }],
+                items_available: 20
+            });
+
+        const groupsService = new GroupsService(axios);
+        const resource = await groupsService.contents("1", { limit: 10, offset: 1 });
+        expect(resource).toEqual({
+            kind: "kind",
+            offset: 2,
+            limit: 10,
+            items: [{
+                modifiedAt: "now"
+            }],
+            itemsAvailable: 20
+        });
+    });
+});