From 7c43f38be553b3ecc74225b5ab20366cb2481ce8 Mon Sep 17 00:00:00 2001 From: Laurent Cozic <laurent@cozic.net> Date: Sun, 4 Jun 2017 00:21:15 +0100 Subject: [PATCH] tweaks --- run_tests.sh | 9 +++++---- src/AppBundle/Controller/FoldersController.php | 3 +++ src/AppBundle/Controller/NotesController.php | 7 +++---- tests/Controller/SynchronizerControllerTest.php | 4 ++-- tests/Model/ChangeTest.php | 2 +- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/run_tests.sh b/run_tests.sh index 3bef05f7de..34d27d2bf5 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -1,6 +1,7 @@ #!/bin/bash -# php phpunit-5.7.20.phar --bootstrap vendor/autoload.php tests/Model/ -# php phpunit-5.7.20.phar --filter testConflict ChangeTest tests/Model/ChangeTest.php --bootstrap vendor/autoload.php tests/Model/ -# php phpunit-5.7.20.phar --filter SynchronizerControllerTest tests/Controller/SynchronizerControllerTest.php --bootstrap vendor/autoload.php tests/Controller/ -php phpunit-5.7.20.phar --bootstrap vendor/autoload.php tests/Controller/ \ No newline at end of file +# Example to test just one method of a test unit: +# php phpunit-5.7.20.phar --filter testConflict ChangeTest tests/Model/ChangeTest.php --bootstrap vendor/autoload.php tests/Model/ + +php5.6 phpunit-5.7.20.phar --bootstrap vendor/autoload.php tests/Controller/ +php5.6 phpunit-5.7.20.phar --bootstrap vendor/autoload.php tests/Model/ \ No newline at end of file diff --git a/src/AppBundle/Controller/FoldersController.php b/src/AppBundle/Controller/FoldersController.php index 6ae4ec5895..4d2e17810a 100755 --- a/src/AppBundle/Controller/FoldersController.php +++ b/src/AppBundle/Controller/FoldersController.php @@ -42,6 +42,9 @@ class FoldersController extends ApiController { return static::successResponse($folder); } + $query = $request->query->all(); + if ($folder) $folder->revId = $query['rev_id']; + if ($request->isMethod('PUT')) { $isNew = !$folder; if ($isNew) $folder = new Folder(); diff --git a/src/AppBundle/Controller/NotesController.php b/src/AppBundle/Controller/NotesController.php index bcffd4c060..020d39692c 100755 --- a/src/AppBundle/Controller/NotesController.php +++ b/src/AppBundle/Controller/NotesController.php @@ -38,6 +38,9 @@ class NotesController extends ApiController { return static::successResponse($note); } + $query = $request->query->all(); + if ($note) $note->revId = $query['rev_id']; + if ($request->isMethod('PUT')) { $isNew = !$note; if ($isNew) $note = new Note(); @@ -51,10 +54,6 @@ class NotesController extends ApiController { } if ($request->isMethod('PATCH')) { - $query = $request->query->all(); - - $note->id = Note::unhex($id); - $note->revId = $query['rev_id']; $note->fromPublicArray($this->patchParameters()); $note->save(); return static::successResponse($note); diff --git a/tests/Controller/SynchronizerControllerTest.php b/tests/Controller/SynchronizerControllerTest.php index 32e3120156..02a0fae9f0 100644 --- a/tests/Controller/SynchronizerControllerTest.php +++ b/tests/Controller/SynchronizerControllerTest.php @@ -95,8 +95,8 @@ class SynchronizerControllerTest extends BaseControllerTestCase { $this->loadSession(1, 2); $syncResult2 = $this->request('GET', '/synchronizer', array('rev_id' => $client2_revId)); - // In case of conflict, the string should be set to the last PATCH operation - $this->assertEquals('YYYYYYYYYY', $syncResult1['items'][0]['item']['title']); + // In case of conflict, the last non-conflicted version is returned + $this->assertEquals('XXXXXXXXXX', $syncResult1['items'][0]['item']['title']); // TODO: handle conflict } diff --git a/tests/Model/ChangeTest.php b/tests/Model/ChangeTest.php index b3533f578d..5691075377 100755 --- a/tests/Model/ChangeTest.php +++ b/tests/Model/ChangeTest.php @@ -196,7 +196,7 @@ class ChangeTest extends BaseTestCase { $r = Change::changesDoneAfterId($this->userId(), $this->clientId(1), 0); - $this->assertCount(2, $r); + $this->assertCount(3, $r); $this->assertFalse($r['has_more']); $this->assertCount(0, $r['items']); // Since client 1 is the one that made the changes, no sync data needs to be returned