diff options
Diffstat (limited to 'tests/api/controllers/links/PostLinkTest.php')
-rw-r--r-- | tests/api/controllers/links/PostLinkTest.php | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/tests/api/controllers/links/PostLinkTest.php b/tests/api/controllers/links/PostLinkTest.php index 969b9fd9..e12f803b 100644 --- a/tests/api/controllers/links/PostLinkTest.php +++ b/tests/api/controllers/links/PostLinkTest.php | |||
@@ -2,11 +2,12 @@ | |||
2 | 2 | ||
3 | namespace Shaarli\Api\Controllers; | 3 | namespace Shaarli\Api\Controllers; |
4 | 4 | ||
5 | use PHPUnit\Framework\TestCase; | 5 | use malkusch\lock\mutex\NoMutex; |
6 | use Shaarli\Bookmark\Bookmark; | 6 | use Shaarli\Bookmark\Bookmark; |
7 | use Shaarli\Bookmark\BookmarkFileService; | 7 | use Shaarli\Bookmark\BookmarkFileService; |
8 | use Shaarli\Config\ConfigManager; | 8 | use Shaarli\Config\ConfigManager; |
9 | use Shaarli\History; | 9 | use Shaarli\History; |
10 | use Shaarli\TestCase; | ||
10 | use Slim\Container; | 11 | use Slim\Container; |
11 | use Slim\Http\Environment; | 12 | use Slim\Http\Environment; |
12 | use Slim\Http\Request; | 13 | use Slim\Http\Request; |
@@ -70,8 +71,9 @@ class PostLinkTest extends TestCase | |||
70 | /** | 71 | /** |
71 | * Before every test, instantiate a new Api with its config, plugins and bookmarks. | 72 | * Before every test, instantiate a new Api with its config, plugins and bookmarks. |
72 | */ | 73 | */ |
73 | public function setUp() | 74 | protected function setUp(): void |
74 | { | 75 | { |
76 | $mutex = new NoMutex(); | ||
75 | $this->conf = new ConfigManager('tests/utils/config/configJson'); | 77 | $this->conf = new ConfigManager('tests/utils/config/configJson'); |
76 | $this->conf->set('resource.datastore', self::$testDatastore); | 78 | $this->conf->set('resource.datastore', self::$testDatastore); |
77 | $this->refDB = new \ReferenceLinkDB(); | 79 | $this->refDB = new \ReferenceLinkDB(); |
@@ -79,7 +81,7 @@ class PostLinkTest extends TestCase | |||
79 | $refHistory = new \ReferenceHistory(); | 81 | $refHistory = new \ReferenceHistory(); |
80 | $refHistory->write(self::$testHistory); | 82 | $refHistory->write(self::$testHistory); |
81 | $this->history = new History(self::$testHistory); | 83 | $this->history = new History(self::$testHistory); |
82 | $this->bookmarkService = new BookmarkFileService($this->conf, $this->history, true); | 84 | $this->bookmarkService = new BookmarkFileService($this->conf, $this->history, $mutex, true); |
83 | 85 | ||
84 | $this->container = new Container(); | 86 | $this->container = new Container(); |
85 | $this->container['conf'] = $this->conf; | 87 | $this->container['conf'] = $this->conf; |
@@ -107,7 +109,7 @@ class PostLinkTest extends TestCase | |||
107 | /** | 109 | /** |
108 | * After every test, remove the test datastore. | 110 | * After every test, remove the test datastore. |
109 | */ | 111 | */ |
110 | public function tearDown() | 112 | protected function tearDown(): void |
111 | { | 113 | { |
112 | @unlink(self::$testDatastore); | 114 | @unlink(self::$testDatastore); |
113 | @unlink(self::$testHistory); | 115 | @unlink(self::$testHistory); |
@@ -131,8 +133,8 @@ class PostLinkTest extends TestCase | |||
131 | $this->assertEquals(self::NB_FIELDS_LINK, count($data)); | 133 | $this->assertEquals(self::NB_FIELDS_LINK, count($data)); |
132 | $this->assertEquals(43, $data['id']); | 134 | $this->assertEquals(43, $data['id']); |
133 | $this->assertRegExp('/[\w_-]{6}/', $data['shorturl']); | 135 | $this->assertRegExp('/[\w_-]{6}/', $data['shorturl']); |
134 | $this->assertEquals('http://domain.tld/?' . $data['shorturl'], $data['url']); | 136 | $this->assertEquals('http://domain.tld/shaare/' . $data['shorturl'], $data['url']); |
135 | $this->assertEquals('?' . $data['shorturl'], $data['title']); | 137 | $this->assertEquals('/shaare/' . $data['shorturl'], $data['title']); |
136 | $this->assertEquals('', $data['description']); | 138 | $this->assertEquals('', $data['description']); |
137 | $this->assertEquals([], $data['tags']); | 139 | $this->assertEquals([], $data['tags']); |
138 | $this->assertEquals(true, $data['private']); | 140 | $this->assertEquals(true, $data['private']); |
@@ -160,6 +162,8 @@ class PostLinkTest extends TestCase | |||
160 | 'description' => 'shaare description', | 162 | 'description' => 'shaare description', |
161 | 'tags' => ['one', 'two'], | 163 | 'tags' => ['one', 'two'], |
162 | 'private' => true, | 164 | 'private' => true, |
165 | 'created' => '2015-05-05T12:30:00+03:00', | ||
166 | 'updated' => '2016-06-05T14:32:10+03:00', | ||
163 | ]; | 167 | ]; |
164 | $env = Environment::mock([ | 168 | $env = Environment::mock([ |
165 | 'REQUEST_METHOD' => 'POST', | 169 | 'REQUEST_METHOD' => 'POST', |
@@ -181,10 +185,8 @@ class PostLinkTest extends TestCase | |||
181 | $this->assertEquals($link['description'], $data['description']); | 185 | $this->assertEquals($link['description'], $data['description']); |
182 | $this->assertEquals($link['tags'], $data['tags']); | 186 | $this->assertEquals($link['tags'], $data['tags']); |
183 | $this->assertEquals(true, $data['private']); | 187 | $this->assertEquals(true, $data['private']); |
184 | $this->assertTrue( | 188 | $this->assertSame($link['created'], $data['created']); |
185 | new \DateTime('2 seconds ago') < \DateTime::createFromFormat(\DateTime::ATOM, $data['created']) | 189 | $this->assertSame($link['updated'], $data['updated']); |
186 | ); | ||
187 | $this->assertEquals('', $data['updated']); | ||
188 | } | 190 | } |
189 | 191 | ||
190 | /** | 192 | /** |