From b37ca88fd59e9984e6ccbf65af665cceed963776 Mon Sep 17 00:00:00 2001
From: Graham Christensen <graham@grahamc.com>
Date: Fri, 14 Jan 2022 12:23:38 -0500
Subject: [PATCH] test /job/PROJECT/JOBSET/JOB/shield works

Uses buildListColumns
---
 t/Hydra/Controller/Job/builds.t | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/t/Hydra/Controller/Job/builds.t b/t/Hydra/Controller/Job/builds.t
index c44d1b82..4bdb5ae5 100644
--- a/t/Hydra/Controller/Job/builds.t
+++ b/t/Hydra/Controller/Job/builds.t
@@ -4,6 +4,7 @@ use Setup;
 use Test2::V0;
 use Catalyst::Test ();
 use HTTP::Request::Common;
+use JSON::MaybeXS qw(decode_json);
 
 my $ctx = test_context();
 
@@ -28,4 +29,22 @@ subtest "/job/PROJECT/JOBSET/JOB/channel/latest" => sub {
     ok($response->is_success, "The page showing the job's channel returns 200.");
 };
 
+subtest "/job/PROJECT/JOBSET/JOB/shield" => sub {
+    my $response = request(GET '/job/' . $project->name . '/' . $jobset->name . '/' . $build->job . '/shield');
+    ok($response->is_success, "The page showing the job's shield returns 200.");
+
+    my $data;
+    my $valid_json = lives { $data = decode_json($response->content); };
+    ok($valid_json, "We get back valid JSON.");
+    if (!$valid_json) {
+        use Data::Dumper;
+        print STDERR Dumper $response->content;
+    }
+
+    is($data->{"color"}, "green");
+    is($data->{"label"}, "hydra build");
+    is($data->{"message"}, "passing");
+    is($data->{"schemaVersion"}, 1);
+};
+
 done_testing;