BigW Consortium Gitlab

snippet_blob_spec.rb 1.03 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
require 'spec_helper'

describe SnippetBlob, models: true do
  let(:snippet) { create(:snippet) }

  subject { described_class.new(snippet) }

  describe '#id' do
    it 'returns the snippet ID' do
      expect(subject.id).to eq(snippet.id)
    end
  end

  describe '#name' do
    it 'returns the snippet file name' do
      expect(subject.name).to eq(snippet.file_name)
    end
  end

  describe '#size' do
    it 'returns the data size' do
      expect(subject.size).to eq(subject.data.bytesize)
    end
  end

  describe '#data' do
    it 'returns the snippet content' do
      expect(subject.data).to eq(snippet.content)
    end
  end

  describe '#rendered_markup' do
    context 'when the content is GFM' do
      let(:snippet) { create(:snippet, file_name: 'file.md') }

      it 'returns the rendered GFM' do
        expect(subject.rendered_markup).to eq(snippet.content_html)
      end
    end

    context 'when the content is not GFM' do
      it 'returns nil' do
        expect(subject.rendered_markup).to be_nil
      end
    end
  end
end