diff options
author | Stan Hu <stanhu@gmail.com> | 2015-08-20 11:02:12 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2015-08-20 11:27:29 +0300 |
commit | 0a5b005da170fe81afea012b56f4810125b13ead (patch) | |
tree | 82014eb7c0d9711588e1e3376b21a92b48bb6da6 /spec/controllers | |
parent | 55fc58bda4a5592f2f8deaecec9526fbe4eecd6f (diff) |
Fix blame view line groupings
Closes #2305
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/blame_controller_spec.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/controllers/blame_controller_spec.rb b/spec/controllers/blame_controller_spec.rb new file mode 100644 index 00000000000..3ad4d5fc0a8 --- /dev/null +++ b/spec/controllers/blame_controller_spec.rb @@ -0,0 +1,43 @@ +require 'spec_helper' + +describe Projects::BlameController do + let(:project) { create(:project) } + let(:user) { create(:user) } + + before do + sign_in(user) + + project.team << [user, :master] + controller.instance_variable_set(:@project, project) + end + + describe "GET show" do + render_views + + before do + get(:show, + namespace_id: project.namespace.to_param, + project_id: project.to_param, + id: id) + end + + context "valid file" do + let(:id) { 'master/files/ruby/popen.rb' } + it { is_expected.to respond_with(:success) } + + it 'groups blames properly' do + blame = assigns(:blame) + # Sanity check a few items + expect(blame.count).to eq(18) + expect(blame[0][:commit].sha).to eq('913c66a37b4a45b9769037c55c2d238bd0942d2e') + expect(blame[0][:lines]).to eq(["require 'fileutils'", "require 'open3'", ""]) + + expect(blame[1][:commit].sha).to eq('874797c3a73b60d2187ed6e2fcabd289ff75171e') + expect(blame[1][:lines]).to eq(["module Popen", " extend self"]) + + expect(blame[-1][:commit].sha).to eq('913c66a37b4a45b9769037c55c2d238bd0942d2e') + expect(blame[-1][:lines]).to eq([" end", "end"]) + end + end + end +end |