Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • 12-9-stable
  • 12-7-stable
  • 12-6-stable
  • 12-8-stable
  • github/fork/Kloppi313/patch-1
  • 12-5-stable
  • 12-4-stable
  • github/fork/ramalokesh8477/master
  • 12-1-stable
  • 12-2-stable
  • 12-0-stable
  • 12-3-stable
  • 42-42-stable
  • github/fork/hussamgit398/patch-2
  • 12-3-auto-deploy-20190911
  • 12-3-auto-deploy-20190916
  • 12-3-auto-deploy-20190908
  • 12-3-auto-deploy-20190901
  • 12-3-auto-deploy-20190901-32664
  • v12.10.0.pre
  • v12.9.0
  • v12.9.0-rc42
  • v12.8.7
  • v12.8.6
  • v12.8.5
  • v12.8.4
  • v12.8.3
  • v12.6.8
  • v12.7.7
  • v12.8.2
  • v12.8.1
  • v12.9.0.pre
  • v12.8.0
  • v12.8.0-rc42
  • v12.5.10
  • v12.7.6
  • v12.6.7
  • v12.7.5
  • v12.5.9
40 results

merge_request_serializer_spec.rb

merge_request_serializer_spec.rb 1.13 KiB
require 'spec_helper'

describe MergeRequestSerializer do
  let(:user) { create(:user) }
  let(:resource) { create(:merge_request) }
  let(:json_entity) do
    described_class.new(current_user: user)
      .represent(resource, serializer: serializer)
      .with_indifferent_access
  end

  context 'widget merge request serialization' do
    let(:serializer) { 'widget' }

    it 'matches issue json schema' do
      expect(json_entity).to match_schema('entities/merge_request_widget')
    end
  end

  context 'sidebar merge request serialization' do
    let(:serializer) { 'sidebar_extras' }

    it 'matches sidebar merge request json schema' do
      expect(json_entity).to match_schema('entities/merge_request_sidebar')
    end
  end

  context 'basic merge request serialization' do
    let(:serializer) { 'basic' }

    it 'matches basic merge request json schema' do
      expect(json_entity).to match_schema('entities/merge_request_basic')
    end
  end

  context 'no serializer' do
    let(:serializer) { nil }

    it 'falls back to the widget entity' do
      expect(json_entity).to match_schema('entities/merge_request_widget')
    end
  end
end