From 0e44395307b9fb8f242cc87523af17047d4ce374 Mon Sep 17 00:00:00 2001 From: pkupczyk <pkupczyk> Date: Thu, 26 May 2016 10:08:01 +0000 Subject: [PATCH] SSDM-3686 : V3 AS API - archiveDataSets/unarchiveDataSets methods - js facade + js tests SVN: 36585 --- .../openbis-v3-api-test/html/test/common.js | 2 + .../openbis-v3-api-test/html/test/dtos.js | 2 + .../openbis-v3-api-test/html/test/main.js | 3 +- .../html/test/test-archive-unarchive.js | 49 +++++++++++++++++++ .../public/resources/api/v3/openbis.js | 23 +++++++++ 5 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-archive-unarchive.js diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js index 9d7e9ef86af..c97f09681eb 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js @@ -90,6 +90,8 @@ define([ 'jquery', 'openbis', 'underscore', 'test/dtos' ], function($, openbis, this.GlobalSearchObjectFetchOptions = dtos.GlobalSearchObjectFetchOptions; this.ObjectKindModificationSearchCriteria = dtos.ObjectKindModificationSearchCriteria; this.ObjectKindModificationFetchOptions = dtos.ObjectKindModificationFetchOptions; + this.DataSetArchiveOptions = dtos.DataSetArchiveOptions; + this.DataSetUnarchiveOptions = dtos.DataSetUnarchiveOptions; this.getDtos = function() { return dtos; diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js index 822b05dabfe..42041b342f4 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js @@ -138,6 +138,8 @@ var sources = [ 'as/dto/common/update/ListUpdateValue', 'as/dto/dataset/DataSet', 'as/dto/dataset/DataSetType', + 'as/dto/dataset/archive/DataSetArchiveOptions', + 'as/dto/dataset/unarchive/DataSetUnarchiveOptions', 'as/dto/dataset/delete/DataSetDeletionOptions', 'as/dto/dataset/fetchoptions/DataSetFetchOptions', 'as/dto/dataset/fetchoptions/DataSetSortOptions', diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/main.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/main.js index c3494b93f1e..b88b3c1503f 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/main.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/main.js @@ -8,7 +8,8 @@ define([ // 'test/test-dto', 'test/test-dto-roundtrip', - 'test/test-custom-services' + 'test/test-custom-services', + 'test/test-archive-unarchive' ], function() { var testSuites = arguments; return function() { diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-archive-unarchive.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-archive-unarchive.js new file mode 100644 index 00000000000..6dbe8e010e7 --- /dev/null +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-archive-unarchive.js @@ -0,0 +1,49 @@ +define([ 'jquery', 'underscore', 'openbis', 'test/common' ], function($, _, openbis, common) { + return function() { + QUnit.module("Archive/Unarchive") + + var testAction = function(c, fAction) { + c.start(); + + c.createFacadeAndLogin().then(function(facade) { + c.ok("Login"); + return fAction(facade).then(function(result) { + c.ok("Archived/Unarchived"); + c.finish(); + }); + }).fail(function(error) { + c.fail(error.message); + c.finish(); + }); + } + + QUnit.test("archiveDataSets()", function(assert) { + var c = new common(assert); + + var fAction = function(facade) { + return $.when(c.createDataSet(facade), c.createDataSet(facade)).then(function(permId1, permId2) { + var ids = [ permId1, permId2 ]; + return facade.archiveDataSets(ids, new c.DataSetArchiveOptions()); + }); + } + + testAction(c, fAction); + }); + + QUnit.test("unarchiveDataSets()", function(assert) { + var c = new common(assert); + + var fAction = function(facade) { + return $.when(c.createDataSet(facade), c.createDataSet(facade)).then(function(permId1, permId2) { + var ids = [ permId1, permId2 ]; + return facade.archiveDataSets(ids, new c.DataSetArchiveOptions()).then(function() { + return facade.unarchiveDataSets(ids, new c.DataSetUnarchiveOptions()); + }); + }); + } + + testAction(c, fAction); + }); + + } +}) \ No newline at end of file diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js index 535dc9f791f..60a4b1766e0 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/openbis.js @@ -776,6 +776,29 @@ define([ 'jquery', 'util/Json' ], function(jquery, stjsUtil) { } }); } + + this.archiveDataSets = function(ids, options) { + var thisFacade = this; + return thisFacade._private.ajaxRequest({ + url : openbisUrl, + data : { + "method" : "archiveDataSets", + "params" : [ thisFacade._private.sessionToken, ids, options ] + } + }); + } + + this.unarchiveDataSets = function(ids, options) { + var thisFacade = this; + return thisFacade._private.ajaxRequest({ + url : openbisUrl, + data : { + "method" : "unarchiveDataSets", + "params" : [ thisFacade._private.sessionToken, ids, options ] + } + }); + } + } return facade; -- GitLab