From 785ae5dc9adc4030ab9144b62b62dd40fe4ffc75 Mon Sep 17 00:00:00 2001
From: Bjoern Schiessle <schiessle@owncloud.com>
Date: Tue, 5 Aug 2014 17:26:23 +0200
Subject: [PATCH] add unit test to make sure getVersions returns the correct
 result

---
 apps/files_versions/tests/versions.php | 34 ++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/apps/files_versions/tests/versions.php b/apps/files_versions/tests/versions.php
index 03432276358..558c8dfcb8a 100644
--- a/apps/files_versions/tests/versions.php
+++ b/apps/files_versions/tests/versions.php
@@ -266,6 +266,40 @@ class Test_Files_Versioning extends \PHPUnit_Framework_TestCase {
 		\OC\Files\Filesystem::unlink('test2.txt');
 	}
 
+	/**
+	 * test if we find all versions and if the versions array contain
+	 * the correct 'path' and 'name'
+	 */
+	public function testGetVersions() {
+
+		$t1 = time();
+		// second version is two weeks older, this way we make sure that no
+		// version will be expired
+		$t2 = $t1 - 60 * 60 * 24 * 14;
+
+		// create some versions
+		$v1 = self::USERS_VERSIONS_ROOT . '/subfolder/test.txt.v' . $t1;
+		$v2 = self::USERS_VERSIONS_ROOT . '/subfolder/test.txt.v' . $t2;
+
+		$this->rootView->mkdir(self::USERS_VERSIONS_ROOT . '/subfolder/');
+
+		$this->rootView->file_put_contents($v1, 'version1');
+		$this->rootView->file_put_contents($v2, 'version2');
+
+		// execute copy hook of versions app
+		$versions = \OCA\Files_Versions\Storage::getVersions(self::TEST_VERSIONS_USER, '/subfolder/test.txt');
+
+		$this->assertSame(2, count($versions));
+
+		foreach ($versions as $version) {
+			$this->assertSame('/subfolder/test.txt', $version['path']);
+			$this->assertSame('test.txt', $version['name']);
+		}
+
+		//cleanup
+		$this->rootView->deleteAll(self::USERS_VERSIONS_ROOT . '/subfolder');
+	}
+
 	/**
 	 * @param string $user
 	 * @param bool $create
-- 
GitLab