diff --git a/tests/unit/utils/array-test.js b/tests/unit/utils/array-test.js
index c0c50bc25820b2fd0f6b39c9d75bd75c7877f3e9..d03e9d4f5acb9c646303b994f45ead1baf64ac77 100644
--- a/tests/unit/utils/array-test.js
+++ b/tests/unit/utils/array-test.js
@@ -2,6 +2,20 @@ import { module, test } from 'qunit';
 import { get_id, reposition_items } from 'papermerge/utils/array';
 
 
+class Page {
+  constructor(page_id) {
+    this.id = page_id;
+
+  }
+  get() {
+    return this.id;
+  }
+
+  toString() {
+    return `Page(${this.id})`;
+  }
+}
+
 module('Unit | Utils | Array', function () {
 
   test('get_id 1', function (assert) {
@@ -23,5 +37,32 @@ module('Unit | Utils | Array', function () {
 
     assert.strictEqual(get_id(item), 13);
   });
+
+  test('reposition_items 1', function(assert) {
+    let items,
+      selected_ids = ['2'],
+      drop_pos = 0,
+      actual_result,
+      expected_result;
+
+    items = [
+      new Page('1'), new Page('2'), new Page('3'), new Page('4')
+    ];
+
+    expected_result = [
+      new Page('2'), new Page('1'), new Page('3'), new Page('4')
+    ]
+
+    actual_result = reposition_items({
+      items, selected_ids, drop_pos
+    });
+
+    assert.expect( expected_result.length );
+
+    expected_result.forEach((page, index) => {
+      assert.strictEqual(page.id, actual_result[index].id);
+    });
+
+  });
 });