summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2017-01-02 11:42:08 -0600
committerMike Greiling <mike@pixelcog.com>2017-01-02 11:44:08 -0600
commitdc3d40ff28e4087120d48a94db5bd3d3b32f164d (patch)
tree450f95bca32530bcdb53b6ae38ea9e3ca3987fda
parent1c5a506588342bdb2a6390f14d333d41a5482f58 (diff)
downloadgitlab-ce-fix-build-sort-order.tar.gz
prefer unit test on model over view testfix-build-sort-order
-rw-r--r--spec/models/commit_status_spec.rb22
-rw-r--r--spec/views/projects/pipelines/show.html.haml_spec.rb35
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)