From dc3d40ff28e4087120d48a94db5bd3d3b32f164d Mon Sep 17 00:00:00 2001
From: Mike Greiling <mike@pixelcog.com>
Date: Mon, 2 Jan 2017 11:42:08 -0600
Subject: [PATCH] prefer unit test on model over view test

---
 spec/models/commit_status_spec.rb             | 22 ++++++++++++
 .../projects/pipelines/show.html.haml_spec.rb | 35 -------------------
 2 files changed, 22 insertions(+), 35 deletions(-)

diff --git a/spec/models/commit_status_spec.rb b/spec/models/commit_status_spec.rb
index 701f3323c0f..daabc804d16 100644
--- a/spec/models/commit_status_spec.rb
+++ b/spec/models/commit_status_spec.rb
@@ -243,4 +243,26 @@ describe CommitStatus, models: true do
         .to be_a Gitlab::Ci::Status::Success
     end
   end
+
+  describe '#sortable_name' do
+    subject { commit_status.sortable_name }
+
+    tests = {
+      'karma' => ['karma'],
+      'karma 0 20' => ['karma ', 0, ' ', 20],
+      'karma 10 20' => ['karma ', 10, ' ', 20],
+      'karma 50:100' => ['karma ', 50, ':', 100],
+      'karma 1.10' => ['karma ', 1, '.', 10],
+      'karma 1.5.1' => ['karma ', 1, '.', 5, '.', 1],
+      'karma 1 a' => ['karma ', 1, ' a']
+    }
+
+    tests.each do |name, sortable_name|
+      it "'#{name}' sorts as '#{sortable_name}'" do
+        commit_status.name = name
+
+        is_expected.to eq(sortable_name)
+      end
+    end
+  end
 end
diff --git a/spec/views/projects/pipelines/show.html.haml_spec.rb b/spec/views/projects/pipelines/show.html.haml_spec.rb
index afda286c089..a066ea078e6 100644
--- a/spec/views/projects/pipelines/show.html.haml_spec.rb
+++ b/spec/views/projects/pipelines/show.html.haml_spec.rb
@@ -45,41 +45,6 @@ describe 'projects/pipelines/show' do
     expect(rendered).to have_text('jenkins')
   end
 
-  it 'lists builds in the correct sort order' do
-    create_build('test', 1, 'karma 0 20', :created)
-    create_build('test', 1, 'karma 12 20', :created)
-    create_build('test', 1, 'karma 1 20', :created)
-    create_build('test', 1, 'karma 10 20', :created)
-    create_build('test', 1, 'karma 11 20', :created)
-    create_build('test', 1, 'karma 2 20', :created)
-    create_build('test', 1, 'test 1.10', :created)
-    create_build('test', 1, 'test 1.5.1', :created)
-    create_build('test', 1, 'test 1 a', :created)
-
-    render
-
-    # spaced builds order
-    expected_order_1 = [
-      'karma 0 20',
-      'karma 1 20',
-      'karma 2 20',
-      'karma 10 20',
-      'karma 11 20',
-      'karma 12 20'
-    ].join(' ')
-
-    expect(rendered).to have_text(expected_order_1)
-
-    # decimal builds order
-    expected_order_2 = [
-      'test 1 a',
-      'test 1.5.1',
-      'test 1.10'
-    ].join(' ')
-
-    expect(rendered).to have_text(expected_order_2)
-  end
-
   private
 
   def create_build(stage, stage_idx, name, status)
-- 
GitLab