51 lines
1.1 KiB
Ruby
51 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
factory :diff_position, class: 'Gitlab::Diff::Position' do
|
|
skip_create # non-model factories (i.e. without #save)
|
|
|
|
transient do
|
|
file { 'path/to/file' }
|
|
|
|
# Allow diff to be passed as a single object.
|
|
diff_refs do
|
|
::Gitlab::Diff::DiffRefs.new(
|
|
base_sha: Digest::SHA1.hexdigest(SecureRandom.hex),
|
|
head_sha: Digest::SHA1.hexdigest(SecureRandom.hex),
|
|
start_sha: Digest::SHA1.hexdigest(SecureRandom.hex)
|
|
)
|
|
end
|
|
end
|
|
|
|
old_path { file }
|
|
new_path { file }
|
|
|
|
base_sha { diff_refs&.base_sha }
|
|
head_sha { diff_refs&.head_sha }
|
|
start_sha { diff_refs&.start_sha }
|
|
|
|
initialize_with { new(attributes) }
|
|
|
|
trait :moved do
|
|
new_path { 'path/to/new.file' }
|
|
end
|
|
|
|
factory :text_diff_position do
|
|
position_type { 'text' }
|
|
old_line { 10 }
|
|
new_line { 10 }
|
|
|
|
trait :added do
|
|
old_line { nil }
|
|
end
|
|
end
|
|
|
|
factory :image_diff_position do
|
|
position_type { 'image' }
|
|
x { 1 }
|
|
y { 1 }
|
|
width { 10 }
|
|
height { 10 }
|
|
end
|
|
end
|
|
end
|