From 5bc54ca425866c37f6cdf6448d8ae2dcbabea3bf Mon Sep 17 00:00:00 2001 From: Felipe Artur Date: Thu, 16 Aug 2018 15:53:33 -0300 Subject: Use a serializer to render diff lines --- spec/serializers/diff_line_serializer_spec.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 spec/serializers/diff_line_serializer_spec.rb (limited to 'spec/serializers/diff_line_serializer_spec.rb') diff --git a/spec/serializers/diff_line_serializer_spec.rb b/spec/serializers/diff_line_serializer_spec.rb new file mode 100644 index 00000000000..6dd8abd0579 --- /dev/null +++ b/spec/serializers/diff_line_serializer_spec.rb @@ -0,0 +1,25 @@ +require 'spec_helper' + +describe DiffLineSerializer do + let(:line) { Gitlab::Diff::Line.new('hello world', 'new', 1, nil, 1) } + let(:serializer) { described_class.new.represent(line) } + + describe '#to_json' do + subject { serializer.to_json } + + it 'matches the schema' do + expect(subject).to match_schema('entities/diff_line') + end + + context 'when lines are parallel' do + let(:right_line) { Gitlab::Diff::Line.new('right line', 'new', 1, nil, 1) } + let(:left_line) { Gitlab::Diff::Line.new('left line', 'match', 1, nil, 1) } + let(:parallel_line) { [{ right: right_line, left: left_line }] } + let(:serializer) { described_class.new.represent(parallel_line, {}, DiffLineParallelEntity) } + + it 'matches the schema' do + expect(subject).to match_schema('entities/diff_line_parallel') + end + end + end +end -- cgit v1.2.3