Sha256: 9529fee83edfdecec3e4de5ed3a8213cc5827d66d9e0ebb80357efc05296b547

Contents?: true

Size: 1.77 KB

Versions: 32

Compression:

Stored size: 1.77 KB

Contents

require 'spec_helper'

describe PulseMeter::Visualize::DSL::Page do
  let(:interval){ 100 }
  let(:sensor_name) { "some_sensor" }
  let!(:sensor){ PulseMeter::Sensor::Timelined::Max.new(sensor_name, :ttl => 1000, :interval => interval) }
  let(:title) { "page title" }
  let(:page){ PulseMeter::Visualize::DSL::Page.new(title) }

  describe '.new' do
    it "should initialize title and widgets" do
      p = page.to_data  
      p.title.should == title
      p.widgets.should == []
    end
  end

  [:area, :line, :table, :pie, :gauge].each do |widget_type|

    describe "##{widget_type}" do
      it "should add #{widget_type} widget initialized by args to widgets" do
        page.send(widget_type, :some_widget_name, sensor: sensor_name, width: 7)
        w = page.to_data.widgets.first
        w.width.should == 7
        w.title.should == "some_widget_name"
        w.sensors.first.name.should == sensor_name
      end
      
      it "should add #{widget_type} widget initialized by block" do
        page.send(widget_type, :some_widget_name) do |w|
          w.sensor(sensor_name)
          w.sensor(sensor_name)
          w.title "foo_widget"
          w.width 7
        end
        w = page.to_data.widgets.first
        w.type.should == widget_type.to_s
        w.width.should == 7
        w.title.should == "foo_widget"
        w.sensors.size.should == 2
        w.sensors.first.name.should == sensor_name
        w.sensors.last.name.should == sensor_name
      end
    end
  
  end

  describe "#title" do
    it "should set page title" do
      page.title "Foo Title"
      page.to_data.title.should == 'Foo Title'
    end
  end

  describe "#to_data" do
    it "should convert DSL data to Visualize::Page" do
      page.to_data.should be_kind_of(PulseMeter::Visualize::Page)
    end
  end

end

Version data entries

32 entries across 32 versions & 2 rubygems

Version Path
pulse_meter_visualizer-0.4.20 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse_meter_visualizer-0.4.19 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse_meter_visualizer-0.4.18 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse_meter_visualizer-0.4.17 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse_meter_visualizer-0.4.16 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse_meter_visualizer-0.4.15 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse_meter_visualizer-0.4.14 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse_meter_visualizer-0.4.13 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse_meter_visualizer-0.4.12 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse_meter_visualizer-0.4.11 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse-meter-0.4.9 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse-meter-0.4.8 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse-meter-0.4.7 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse-meter-0.4.6 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse-meter-0.4.5 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse-meter-0.4.4 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse-meter-0.4.3 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse-meter-0.4.2 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse-meter-0.4.1 spec/pulse_meter/visualize/dsl/page_spec.rb
pulse-meter-0.4.0 spec/pulse_meter/visualize/dsl/page_spec.rb