summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg G <nilsding@nilsding.org>2016-10-12 18:48:53 +0200
committerGeorg G <nilsding@nilsding.org>2016-10-12 18:48:53 +0200
commitf32bc1f52662664048876b27e181a1cacda02580 (patch)
tree1c68461ac0e5e24d2cbac07f3f9cd8be383e36a6
parent09ccf6cce3e191f5971c96f1ce8b227a8f3682af (diff)
downloadgitlab-ce-f32bc1f52662664048876b27e181a1cacda02580.tar.gz
Add spec for Projects::GraphsController#languages
-rw-r--r--spec/controllers/projects/graphs_controller_spec.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/controllers/projects/graphs_controller_spec.rb b/spec/controllers/projects/graphs_controller_spec.rb
new file mode 100644
index 00000000000..3f4535b7a24
--- /dev/null
+++ b/spec/controllers/projects/graphs_controller_spec.rb
@@ -0,0 +1,43 @@
+require 'spec_helper'
+require 'ostruct'
+
+describe Projects::GraphsController do
+ let(:project) { create(:project) }
+ let(:user) { create(:user) }
+
+ before do
+ sign_in(user)
+ project.team << [user, :master]
+ end
+
+ describe 'GET #languages' do
+ let(:linguist_repository) do
+ OpenStruct.new(languages: {
+ 'Ruby' => 1000,
+ 'CoffeeScript' => 350,
+ 'PowerShell' => 15
+ })
+ end
+
+ let(:expected_values) do
+ ps_color = "##{Digest::SHA256.hexdigest('PowerShell')[0...6]}"
+ [
+ # colors from Linguist:
+ { value: 73.26, label: "Ruby", color: "#701516", highlight: "#701516" },
+ { value: 25.64, label: "CoffeeScript", color: "#244776", highlight: "#244776" },
+ # colors from SHA256 fallback:
+ { value: 1.1, label: "PowerShell", color: ps_color, highlight: ps_color }
+ ]
+ end
+
+ before do
+ allow(Linguist::Repository).to receive(:new).and_return(linguist_repository)
+ end
+
+ it 'sets the correct colour according to language' do
+ get(:languages, namespace_id: project.namespace.path, project_id: project.path, id: 'master')
+
+ expect(assigns(:languages)).to eq(expected_values)
+ end
+ end
+end