BigW Consortium Gitlab

wiki_directory_spec.rb 1.13 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
require 'spec_helper'

RSpec.describe WikiDirectory, models: true do
  describe 'validations' do
    subject { build(:wiki_directory) }

    it { is_expected.to validate_presence_of(:slug) }
  end

  describe '#initialize' do
11
    context 'when there are pages' do
12
      let(:pages) { [build(:wiki_page)] }
13
      let(:directory) { WikiDirectory.new('/path_up_to/dir', pages) }
14 15 16 17 18 19 20 21 22 23

      it 'sets the slug attribute' do
        expect(directory.slug).to eq('/path_up_to/dir')
      end

      it 'sets the pages attribute' do
        expect(directory.pages).to eq(pages)
      end
    end

24
    context 'when there are no pages' do
25 26 27 28 29 30 31 32 33 34 35
      let(:directory) { WikiDirectory.new('/path_up_to/dir') }

      it 'sets the slug attribute' do
        expect(directory.slug).to eq('/path_up_to/dir')
      end

      it 'sets the pages attribute to an empty array' do
        expect(directory.pages).to eq([])
      end
    end
  end
36 37 38 39 40 41 42 43

  describe '#to_partial_path' do
    it 'returns the relative path to the partial to be used' do
      directory = build(:wiki_directory)

      expect(directory.to_partial_path).to eq('projects/wikis/wiki_directory')
    end
  end
44
end