Sha256: 304d9c6468866d32620d0fb74592e3835cc02445fa016ebfe5639e4bad9a9dc9

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

require 'rails_helper'

module Pwb
  RSpec.describe "Themes", type: :request do
    before(:all) do
      # @agency = Agency.last || FactoryGirl.create(:pwb_agency, company_name: 'my re')
      # in /pwb/app/controllers/pwb/application_controller.rb, theme gets set against website instance
      @website = FactoryGirl.create(:pwb_website)
      # factorygirl ensures unique_instance of website is used
    end

    context 'when theme is set' do
      it 'uses correct theme' do
        @website.theme_name = "berlin"
        @website.save!
        get "/"
        view_paths = @controller.view_paths.map(&:to_s)
        expect(view_paths).to include "#{Pwb::Engine.root}/app/themes/berlin/views"
      end
    end

    context 'when no theme is set' do
      it 'uses default theme' do
        @website.theme_name = nil
        @website.save!
        get "/"
        view_paths = @controller.view_paths.map(&:to_s)
        expect(view_paths).to include "#{Pwb::Engine.root}/app/themes/default/views"
      end
    end

    context 'when theme_name is empty' do
      it 'uses default theme' do
        @website.theme_name = ""
        @website.save!
        get "/"
        view_paths = @controller.view_paths.map(&:to_s)
        expect(view_paths).to include "#{Pwb::Engine.root}/app/themes/default/views"
      end
    end

    after(:all) do
      @website.destroy
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pwb-1.1.1 spec/requests/pwb/themes_spec.rb
pwb-1.0.0 spec/requests/pwb/themes_spec.rb