]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - tests/api/controllers/PostLinkTest.php
Add history entries for API endpoint
[github/shaarli/Shaarli.git] / tests / api / controllers / PostLinkTest.php
index 3ed7bcb072326e98019ab8c16e4a09e8ae5baac8..31954e396d2d95b56b24bb08f7fe1876ce83ed21 100644 (file)
@@ -23,6 +23,11 @@ class PostLinkTest extends \PHPUnit_Framework_TestCase
      */
     protected static $testDatastore = 'sandbox/datastore.php';
 
+    /**
+     * @var string datastore to test write operations
+     */
+    protected static $testHistory = 'sandbox/history.php';
+
     /**
      * @var ConfigManager instance
      */
@@ -33,6 +38,11 @@ class PostLinkTest extends \PHPUnit_Framework_TestCase
      */
     protected $refDB = null;
 
+    /**
+     * @var \History instance.
+     */
+    protected $history;
+
     /**
      * @var Container instance.
      */
@@ -57,9 +67,14 @@ class PostLinkTest extends \PHPUnit_Framework_TestCase
         $this->refDB = new \ReferenceLinkDB();
         $this->refDB->write(self::$testDatastore);
 
+        $refHistory = new \ReferenceHistory();
+        $refHistory->write(self::$testHistory);
+        $this->history = new \History(self::$testHistory);
+
         $this->container = new Container();
         $this->container['conf'] = $this->conf;
         $this->container['db'] = new \LinkDB(self::$testDatastore, true, false);
+        $this->container['history'] = new \History(self::$testHistory);
 
         $this->controller = new Links($this->container);
 
@@ -85,6 +100,7 @@ class PostLinkTest extends \PHPUnit_Framework_TestCase
     public function tearDown()
     {
         @unlink(self::$testDatastore);
+        @unlink(self::$testHistory);
     }
 
     /**
@@ -112,6 +128,13 @@ class PostLinkTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals(false, $data['private']);
         $this->assertTrue(new \DateTime('5 seconds ago') < \DateTime::createFromFormat(\DateTime::ATOM, $data['created']));
         $this->assertEquals('', $data['updated']);
+
+        $historyEntry = $this->history->getHistory()[0];
+        $this->assertEquals(\History::CREATED, $historyEntry['event']);
+        $this->assertTrue(
+            (new \DateTime())->add(\DateInterval::createFromDateString('-5 seconds')) < $historyEntry['datetime']
+        );
+        $this->assertEquals(43, $historyEntry['id']);
     }
 
     /**