From f0493be50ab5d4a919bc3067592366dbe7444b8a Mon Sep 17 00:00:00 2001 From: ibuki2003 Date: Sun, 12 Jul 2020 18:45:45 +0900 Subject: [PATCH 1/4] fix: set default value for timestamps in articles table --- ...4_set_timestamp_default_value_articles.php | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 database/migrations/2020_07_12_184114_set_timestamp_default_value_articles.php diff --git a/database/migrations/2020_07_12_184114_set_timestamp_default_value_articles.php b/database/migrations/2020_07_12_184114_set_timestamp_default_value_articles.php new file mode 100644 index 0000000..61d4b23 --- /dev/null +++ b/database/migrations/2020_07_12_184114_set_timestamp_default_value_articles.php @@ -0,0 +1,39 @@ + Date: Sun, 12 Jul 2020 19:28:41 +0900 Subject: [PATCH 2/4] feat: use revision's timestamp for default value --- app/Http/Controllers/BlogArticleController.php | 3 ++- app/Models/Article.php | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/BlogArticleController.php b/app/Http/Controllers/BlogArticleController.php index c178279..c9bb8d7 100644 --- a/app/Http/Controllers/BlogArticleController.php +++ b/app/Http/Controllers/BlogArticleController.php @@ -75,7 +75,8 @@ public function update(Request $request, $id){ 'title' => $rev->title, 'category' => $request->input('category'), 'revision_id' => $rev->id, - 'handle_name' => $rev->handle_name + 'handle_name' => $rev->handle_name, + 'updated_at' => $rev->timestamp, ]); SlackNotify::notify_article($article, 'updated', $request->user('admin')->name); return response(new ArticleResource($article)); diff --git a/app/Models/Article.php b/app/Models/Article.php index e8ccc2c..5524ece 100644 --- a/app/Models/Article.php +++ b/app/Models/Article.php @@ -16,6 +16,8 @@ class Article extends Model 'id', 'category', 'title', 'revision_id', 'created_at', 'updated_at', 'handle_name' ]; + const UPDATED_AT = NULL; + protected $primaryKey = 'id'; protected $keyType = 'string'; From 1d547004f1f81fbaabaa4d0d3da2cb334bec85fb Mon Sep 17 00:00:00 2001 From: ibuki2003 Date: Sun, 12 Jul 2020 20:01:20 +0900 Subject: [PATCH 3/4] fix: use updated_at column as date --- app/Models/Article.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/Models/Article.php b/app/Models/Article.php index 5524ece..ae3225c 100644 --- a/app/Models/Article.php +++ b/app/Models/Article.php @@ -18,6 +18,11 @@ class Article extends Model const UPDATED_AT = NULL; + protected $dates = [ + 'created_at', + 'updated_at', + ]; + protected $primaryKey = 'id'; protected $keyType = 'string'; From 54c8840b6a3fd579bfd80565d8bff37adda8eab4 Mon Sep 17 00:00:00 2001 From: ibuki2003 Date: Sun, 12 Jul 2020 20:00:19 +0900 Subject: [PATCH 4/4] test: add test for article updated_at --- tests/BlogArticleTest.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/BlogArticleTest.php b/tests/BlogArticleTest.php index a25e807..aa8a339 100644 --- a/tests/BlogArticleTest.php +++ b/tests/BlogArticleTest.php @@ -124,6 +124,8 @@ public function test_update() { 'status' => 'accepted', ]); + Carbon::setTestNow(Carbon::now()->addSeconds(10)); + $this->json('PATCH', "/blog/articles/{$article_id}", [ 'revision_id' => $revision->id, @@ -139,11 +141,12 @@ public function test_update() { $this->assertEquals($revision->title, $ret->title); $this->assertEquals($revision->id, $ret->revision_id); + $this->assertEquals($revision->timestamp->toIso8601ZuluString(), $ret->updated_at); $article = Article::find($article_id); $this->assertEquals($revision->title, $article->title); $this->assertEquals($revision->id, $article->revision_id); - + Carbon::setTestNow(); } }