OSDN Git Service

t: add database check to "update email" test
authorhylom <hylom@users.sourceforge.jp>
Tue, 6 Nov 2018 10:29:55 +0000 (19:29 +0900)
committerhylom <hylom@users.sourceforge.jp>
Tue, 6 Nov 2018 10:29:55 +0000 (19:29 +0900)
src/newslash_web/t/api/user.t

index d97946b..a59dde7 100644 (file)
@@ -6,6 +6,7 @@ use Test::More;
 use Test::Mojo;
 use Mojo::Util qw(dumper);
 use POSIX qw(strftime);
+use DateTime::Format::MySQL;
 
 use Newslash::Util::TestMan;
 
@@ -111,6 +112,19 @@ subtest 'update email' => sub {
     diag dumper $t->tx->res->json if !$t->success;
 
     # チェックコードを書く
+    my $users = $t->app->model('users');
+    my $params = $users->param->select(uid => $user->{uid});
+    is($params->{new_email}, $new_address, "insert new address to params table");
+    my $dt = eval { DateTime::Format::MySQL->parse_datetime($params->{new_email_ts}); };
+    my $e = $@;
+    ok(!$e, "check new_email_ts");
+    diag $e if !$t->success;
+
+    if (!$e) {
+        my $now_dt = DateTime->now;
+        my $delta = $now_dt->epoch - $dt->epoch;
+        ok($delta < 3600, "new_email_ts is updated");
+    }
 
     $test_man->logout;
 };