Sha256: 6b10ca50bb7a7ff29159cda4fd78ff96b827a0b8ce815ad50497ba0934b56149

Contents?: true

Size: 1.97 KB

Versions: 3

Compression:

Stored size: 1.97 KB

Contents

require 'spec_helper'

module Almanack
  describe Configuration do

    describe "#title" do
      it "can be set and accessed" do
        config = Configuration.new
        config.title = "Discworld Holidays"
        expect(config.title).to eq("Discworld Holidays")
      end
    end

    describe "#theme" do
      it "can be set and accessed" do
        config = Configuration.new
        config.theme = "custom"
        expect(config.theme).to eq("custom")
      end
    end

    describe "#theme_root" do
      specify "it raises an error if no theme can be found" do
        config = Configuration.new
        config.theme = "nonexistent"
        expect { config.theme_root }.to raise_error(Configuration::ThemeNotFound)
      end
    end

    describe "#add_events" do
      it "adds a simple event collection event source" do
        config = Configuration.new
        expect(config.event_sources.size).to eq(0)

        config.add_events [
          { title: "Hogswatch" }
        ]

        expect(config.event_sources.size).to eq(1)
        expect(config.event_sources.first).to be_an_instance_of(EventSource::Static)
      end
    end

    describe "#ical_feed" do
      it "adds an iCal feed event source" do
        config = Configuration.new
        expect(config.event_sources.size).to eq(0)

        config.add_ical_feed "https://www.google.com/calendar/ical/61s2re9bfk01abmla4d17tojuo%40group.calendar.google.com/public/basic.ics"

        expect(config.event_sources.size).to eq(1)
        expect(config.event_sources.first).to be_an_instance_of(EventSource::IcalFeed)
      end
    end

    describe "#meetup_group" do
      it "adds a Meetup group event source" do
        config = Configuration.new
        expect(config.event_sources.size).to eq(0)

        config.add_meetup_group(group_urlname: "CHC-JS", key: "secrettoken")

        expect(config.event_sources.size).to eq(1)
        expect(config.event_sources.first).to be_an_instance_of(EventSource::MeetupGroup)
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
almanack-1.0.0 spec/configuration_spec.rb
almanack-1.0.0.pre1 spec/configuration_spec.rb
almanack-1.0.0.pre spec/configuration_spec.rb