diff options
author | Georg G <nilsding@nilsding.org> | 2016-10-12 18:48:53 +0200 |
---|---|---|
committer | Georg G <nilsding@nilsding.org> | 2016-10-12 18:48:53 +0200 |
commit | f32bc1f52662664048876b27e181a1cacda02580 (patch) | |
tree | 1c68461ac0e5e24d2cbac07f3f9cd8be383e36a6 | |
parent | 09ccf6cce3e191f5971c96f1ce8b227a8f3682af (diff) | |
download | gitlab-ce-f32bc1f52662664048876b27e181a1cacda02580.tar.gz |
Add spec for Projects::GraphsController#languages
-rw-r--r-- | spec/controllers/projects/graphs_controller_spec.rb | 43 |
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 |