Specs and fixes for ReportTagHelper#grafico_report_tag - reportable - Fork of reportable required by WarVox, from hdm/reportable.
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) commit e4f1ef62eaa8132c5e61a4b6cfa463f24e990691
(DIR) parent 5ef77ac9f838a14326d882124c57fca5886be26b
(HTM) Author: Martin Kavalar <martin@sauspiel.de>
Date: Wed, 21 Apr 2010 16:37:53 +0200
Specs and fixes for ReportTagHelper#grafico_report_tag
Diffstat:
M lib/saulabs/reportable/config.rb | 4 ++--
M lib/saulabs/reportable/report_tag_… | 4 ++--
M spec/other/report_tag_helper_spec.… | 24 ++++++++++++++++++++++++
3 files changed, 28 insertions(+), 4 deletions(-)
---
(DIR) diff --git a/lib/saulabs/reportable/config.rb b/lib/saulabs/reportable/config.rb
@@ -16,11 +16,11 @@ module Saulabs
mattr_accessor :grafico_options
- @@grafico_basic_options = {
+ @@grafico_options = {
:width => 300,
:height => 100,
:dom_id => nil,
- :format => 'div(100).to_i',
+ :format => 'to_i',
:area_opacity => 0.3,
:markers => 'value',
:grid => false,
(DIR) diff --git a/lib/saulabs/reportable/report_tag_helper.rb b/lib/saulabs/reportable/report_tag_helper.rb
@@ -83,9 +83,9 @@ module Saulabs
# <%= report_tag(User.registrations_report, {:width => 200, :height => 100, :format => "div(100).to_i"}, {:vertical_label_unit => "registrations"}) %>
#
def grafico_report_tag(data, options = {}, grafico_options = {})
- options.reverse_merge!(Config.grafico_options.slice(:width, :height))
+ options.reverse_merge!(Config.grafico_options.slice(:width, :height, :format))
options.reverse_merge!(:dom_id => "#{data.model_name.downcase}_#{data.report_name}")
- grafico_options.reverse_merge!(Config.grafico_options.except(:width, :height))
+ grafico_options.reverse_merge!(Config.grafico_options.except(:width, :height, :format))
%Q{<div id="#{options[:dom_id] || "reportable_#{Time.now}"}" style="width: #{options[:width]}px; height: #{options[:height]}px;"></div>
<script type="text/javascript" charset="utf-8">
new Grafico.AreaGraph(
(DIR) diff --git a/spec/other/report_tag_helper_spec.rb b/spec/other/report_tag_helper_spec.rb
@@ -5,6 +5,30 @@ describe Saulabs::Reportable::ReportTagHelper do
before do
@helper = TestHelper.new
end
+
+ describe '#grafico_report_tag' do
+
+ data_set = Saulabs::Reportable::ResultSet.new([[DateTime.now, 1.0], [DateTime.now - 1.day, 3.0]], "User", "registrations")
+
+ it 'should not raise an error' do
+ lambda {
+ @helper.grafico_report_tag(data_set)
+ }.should_not raise_error
+ end
+
+ it 'should return a string' do
+ @helper.grafico_report_tag(data_set).class.should == String
+ end
+
+ it 'should contain div tag' do
+ @helper.grafico_report_tag(data_set).should =~ /^<div id=".*">.*<\/div>/
+ end
+
+ it 'should contain script tag' do
+ @helper.grafico_report_tag(data_set).should =~ /<script type="text\/javascript" charset="utf-8">.*<\/script>/m
+ end
+
+ end
describe '#google_report_tag' do