From 08a0bc5397b6f41deef5d2e492c6cf101db741ae Mon Sep 17 00:00:00 2001
From: Shinya Maeda <gitlab.shinyamaeda@gmail.com>
Date: Sat, 11 Mar 2017 23:30:25 +0900
Subject: [PATCH] Add more specs

---
 .../projects/builds_controller_spec.rb        |  3 +++
 .../merge_requests_controller_spec.rb         |  3 +++
 .../projects/pipelines_controller_spec.rb     |  3 +++
 spec/serializers/build_serializer_spec.rb     | 19 ++++++++++++++++++-
 spec/serializers/pipeline_serializer_spec.rb  |  3 +++
 5 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/spec/controllers/projects/builds_controller_spec.rb b/spec/controllers/projects/builds_controller_spec.rb
index c6a3bce93da..2234b2e6131 100644
--- a/spec/controllers/projects/builds_controller_spec.rb
+++ b/spec/controllers/projects/builds_controller_spec.rb
@@ -27,6 +27,9 @@ describe Projects::BuildsController do
 
       it 'return a correct pipeline status' do
         expect(response).to have_http_status(:ok)
+        expect(json_response['text']).to eq status.text
+        expect(json_response['label']).to eq status.label
+        expect(json_response['icon']).to eq status.icon
         expect(json_response['favicon']).to eq status.favicon
       end
     end
diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb
index 19c4ba25d1b..8b9a26aabff 100644
--- a/spec/controllers/projects/merge_requests_controller_spec.rb
+++ b/spec/controllers/projects/merge_requests_controller_spec.rb
@@ -1198,6 +1198,9 @@ describe Projects::MergeRequestsController do
 
       it 'return a correct pipeline status' do
         expect(response).to have_http_status(:ok)
+        expect(json_response['text']).to eq status.text
+        expect(json_response['label']).to eq status.label
+        expect(json_response['icon']).to eq status.icon
         expect(json_response['favicon']).to eq status.favicon
       end
     end
diff --git a/spec/controllers/projects/pipelines_controller_spec.rb b/spec/controllers/projects/pipelines_controller_spec.rb
index 53d0ebda2d5..9ce8f8e8da1 100644
--- a/spec/controllers/projects/pipelines_controller_spec.rb
+++ b/spec/controllers/projects/pipelines_controller_spec.rb
@@ -86,6 +86,9 @@ describe Projects::PipelinesController do
 
       it 'return a correct pipeline status' do
         expect(response).to have_http_status(:ok)
+        expect(json_response['text']).to eq status.text
+        expect(json_response['label']).to eq status.label
+        expect(json_response['icon']).to eq status.icon
         expect(json_response['favicon']).to eq status.favicon
       end
     end
diff --git a/spec/serializers/build_serializer_spec.rb b/spec/serializers/build_serializer_spec.rb
index a8069004e7b..5a55d9d7dc1 100644
--- a/spec/serializers/build_serializer_spec.rb
+++ b/spec/serializers/build_serializer_spec.rb
@@ -10,7 +10,21 @@ describe BuildSerializer do
   subject { serializer.represent(resource) }
 
   describe '#represent' do
-    # TODO:
+    context 'when a single object is being serialized' do
+      let(:resource) { create(:ci_build) }
+
+      it 'serializers the pipeline object' do
+        expect(subject[:id]).to eq resource.id
+      end
+    end
+
+    context 'when multiple objects are being serialized' do
+      let(:resource) { create_list(:ci_build, 2) }
+
+      it 'serializers the array of pipelines' do
+        expect(subject).not_to be_empty
+      end
+    end
   end
 
   describe '#represent_status' do
@@ -23,6 +37,9 @@ describe BuildSerializer do
       subject { serializer.represent_status(resource) }
 
       it 'serializes only status' do
+        expect(subject[:text]).to eq(status.text)
+        expect(subject[:label]).to eq(status.label)
+        expect(subject[:icon]).to eq(status.icon)
         expect(subject[:favicon]).to eq(status.favicon)
       end
     end
diff --git a/spec/serializers/pipeline_serializer_spec.rb b/spec/serializers/pipeline_serializer_spec.rb
index a668d9df11a..261f2152c22 100644
--- a/spec/serializers/pipeline_serializer_spec.rb
+++ b/spec/serializers/pipeline_serializer_spec.rb
@@ -105,6 +105,9 @@ describe PipelineSerializer do
       subject { serializer.represent_status(resource) }
 
       it 'serializes only status' do
+        expect(subject[:text]).to eq(status.text)
+        expect(subject[:label]).to eq(status.label)
+        expect(subject[:icon]).to eq(status.icon)
         expect(subject[:favicon]).to eq(status.favicon)
       end
     end
-- 
GitLab