use strict; use Test::More tests => 22; use Test::Exception; use lib "t"; use TestAppSetup; use_ok('Catalyst::Test', 'BookShelf'); my $html; my $res; my $item_name = "test_" . int(rand(10_000)); my $item_id; #todo: view #todo: view missing id diag("Test C add"); ok($html = get("/format/list"), "/format/list ok"); isnt($html, qr/$item_name/, " Doesn't contain item_name"); diag("Simple add"); ok($res = request("/format/do_add?name=$item_name"), "/format/add"); ok($res->is_redirect, "Redirect ok"); ok($res->header("Location") =~ m|format/view/(\d+)|, "Redirected to view/id"); ok($item_id = $1, " got id"); diag("Got id ($item_id)"); diag("View"); ok($html = get("/format/view/$item_id"), "/format/view/id"); like($html, qr|\s*$item_name\s*|si, " contains name"); diag("Fail add due to unique constraint"); ok($res = request("/format/do_add?name=$item_name"), "/format/add"); ok(!$res->is_redirect, " Not redirect"); like($res->content, qr|
|s, " Page contains message"); like($res->content, qr|