a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksarequire 'spec_helper'
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksadescribe 'diff' do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa let(:repository) { create :repository }
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa let(:git_repository) { repository.git }
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa let(:userinfo) do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa {
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa email: 'janjansson.com',
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa name: 'Jan Jansson',
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa time: Time.now
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa }
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa end
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa let (:content1) { "Some\ncontent\nwith\nmany\nlines." }
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa let (:content2) { "Some\ncontent,\nwith\nmany\nlines." }
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa let (:filepath) { Pathname.new 'path/to/file.xml'.to_s }
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa context 'large diff' do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa before do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa allow(Settings).to receive(:max_combined_diff_size).and_return(0)
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa @commit1 = git_repository.commit_file(userinfo, content1, filepath.to_s, 'Message1')
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa @commit2 = git_repository.commit_file(userinfo, content2, filepath.to_s, 'Message2')
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa end
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa let(:diff) { Diff.new(repository_id: repository.path, ref: @commit2) }
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa it 'have :diff_too_large in the changed_files' do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa diff.compute
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa expect(diff.changed_files.first.diff).to eq(:diff_too_large)
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa end
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa end
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksaend