test/unit/report/test_internal.rb in thinreports-0.8.2 vs test/unit/report/test_internal.rb in thinreports-0.9.0
- old
+ new
@@ -3,235 +3,179 @@
require 'test_helper'
class Thinreports::Report::TestInternal < Minitest::Test
include Thinreports::TestHelper
- # Alias
Report = Thinreports::Report
+ def setup
+ @layout_file = layout_file
+ end
+
def report
Report::Base.new
end
- def sample_layout1
- data_file('layout_text1.tlf')
- end
-
- def sample_layout2
- data_file('layout_text2.tlf')
- end
-
- def sample_list_layout
- data_file('layout_list.tlf')
- end
-
def test_layout_specified_in_new_method_should_be_defined_as_default_layout
- internal = Report::Internal.new(report, layout: sample_layout1)
- assert_equal internal.default_layout.filename, sample_layout1
+ internal = Report::Internal.new(report, layout: @layout_file.path)
+ assert_equal internal.default_layout.filename, @layout_file.path
end
def test_register_layout_should_be_set_as_default_layout_when_options_are_omitted
internal = Report::Internal.new(report, {})
- internal.register_layout(sample_layout1)
+ internal.register_layout(@layout_file.path)
- assert_equal internal.default_layout.filename, sample_layout1
+ assert_equal internal.default_layout.filename, @layout_file.path
end
def test_register_layout_should_be_set_as_default_layout_when_default_option_is_true
internal = Report::Internal.new(report, {})
- internal.register_layout(sample_layout1, default: true)
+ internal.register_layout(@layout_file.path, default: true)
- assert_equal internal.default_layout.filename, sample_layout1
+ assert_equal internal.default_layout.filename, @layout_file.path
end
def test_register_layout_should_be_able_to_change_the_default_layout
- internal = Report::Internal.new(report, layout: sample_layout1)
- internal.register_layout(sample_layout2, default: true)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
+ internal.register_layout(@layout_file.path, default: true)
- assert_equal internal.default_layout.filename, sample_layout2
+ assert_equal internal.default_layout.filename, @layout_file.path
end
def test_register_layout_should_be_set_as_with_id_when_id_option_is_set
internal = Report::Internal.new(report, {})
- internal.register_layout(sample_layout1, id: :foo)
+ internal.register_layout(@layout_file.path, id: :foo)
- assert_equal internal.layout_registry[:foo].filename, sample_layout1
+ assert_equal internal.layout_registry[:foo].filename, @layout_file.path
end
def test_register_layout_should_raise_an_error_when_id_is_already_registered
internal = Report::Internal.new(report, {})
- internal.register_layout(sample_layout2, id: :foo)
+ internal.register_layout(@layout_file.path, id: :foo)
assert_raises ArgumentError do
- internal.register_layout(sample_layout1, id: :foo)
+ internal.register_layout(@layout_file.path, id: :foo)
end
end
- def test_register_layout_should_return_the_instance_of_LayoutConfiguration
- internal = Report::Internal.new(report, {})
-
- assert_instance_of Thinreports::Layout::Configuration,
- internal.register_layout(sample_layout1)
- end
-
- def test_register_layout_should_be_able_to_set_list_configuration_without_errors
- internal = Report::Internal.new(report, {})
- internal.register_layout(sample_list_layout) do |config|
- config.list(:list).use_stores foo: 0
- config.list(:list).use_stores bar: 1000
- end
- pass
- end
-
def test_add_page_should_finalize_the_current_page
- layout = Thinreports::Layout.new(sample_layout1)
+ layout = Thinreports::Layout.new(@layout_file.path)
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
page = internal.add_page(Thinreports::Report::Page.new(report, layout))
internal.add_page(Thinreports::Report::Page.new(report, layout))
assert_equal page.finalized?, true
end
def test_add_page_should_return_the_current_page
- layout = Thinreports::Layout.new(sample_layout1)
+ layout = Thinreports::Layout.new(@layout_file.path)
new_page = Thinreports::Report::Page.new(report, layout)
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
assert_same new_page, internal.add_page(new_page)
end
def test_add_page_should_add_the_initialized_page
- layout = Thinreports::Layout.new(sample_layout1)
+ layout = Thinreports::Layout.new(@layout_file.path)
new_page = Thinreports::Report::Page.new(report, layout)
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
internal.add_page(new_page)
assert_same new_page, internal.pages.last
end
def test_add_page_should_count_up_the_total_page_count
- layout = Thinreports::Layout.new(sample_layout1)
+ layout = Thinreports::Layout.new(@layout_file.path)
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
internal.add_page(Thinreports::Report::Page.new(report, layout))
assert_equal internal.page_count, 1
end
def test_add_page_should_switch_to_a_reference_to_the_current_page
- layout = Thinreports::Layout.new(sample_layout1)
+ layout = Thinreports::Layout.new(@layout_file.path)
new_pages = (1..2).inject([]) do |pages|
pages << Thinreports::Report::Page.new(report, layout)
end
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
internal.add_page(new_pages[0])
assert_same internal.page, new_pages[0]
internal.add_page(new_pages[1])
assert_same internal.page, new_pages[1]
end
- def test_add_page_should_dispatch_the_event_page_creation
- dispatched = false
- layout = Thinreports::Layout.new(sample_layout1)
-
- internal = Report::Internal.new(report, layout: sample_layout1)
- internal.events.on(:page_create) { dispatched = true }
- internal.add_page(Thinreports::Report::Page.new(report, layout))
-
- assert dispatched
- end
-
- def test_add_blank_page_should_not_dispatch_the_event_page_creation
- dispatched = false
-
- internal = Report::Internal.new(report, layout: sample_layout1)
- internal.events.on(:page_create) { dispatched = true }
- internal.add_page(Thinreports::Report::BlankPage.new)
-
- refute dispatched
- end
-
def test_add_blank_page_should_not_count_up_the_total_page_count_when_count_is_disabled
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
internal.add_page(Thinreports::Report::BlankPage.new(false))
assert_equal internal.page_count, 0
end
def test_add_blank_page_should_count_up_the_total_page_count_when_count_is_enabled
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
internal.add_page(Thinreports::Report::BlankPage.new)
assert_equal internal.page_count, 1
end
- def test_finalize_should_dispatch_the_event_report_generation
- dispatched = false
-
- internal = Report::Internal.new(report, layout: sample_layout1)
- internal.events.on(:generate) { dispatched = true }
- internal.finalize
-
- assert dispatched
- end
-
def test_finalize_should_finalize_the_report
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
internal.finalize
assert internal.finalized?
end
def test_finalize_should_not_work_when_report_is_already_finalized
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
internal.finalize
# #finalize_current_page must never be called
internal.expects(:finalize_current_page).never
internal.finalize
end
def test_finalized_should_return_true_when_report_is_already_finalized
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
internal.finalize
assert internal.finalized?
end
def test_load_layout_with_String
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
- assert_equal internal.load_layout(sample_layout2).filename,
- sample_layout2
+ assert_equal internal.load_layout(@layout_file.path).filename,
+ @layout_file.path
end
def test_load_layout_with_id
internal = Report::Internal.new(report, {})
- internal.register_layout(sample_layout1, id: :sample)
+ internal.register_layout(@layout_file.path, id: :sample)
assert_equal internal.load_layout(:sample).filename,
- sample_layout1
+ @layout_file.path
end
def test_load_layout_with_unknown_id
internal = Report::Internal.new(report, {})
assert_nil internal.load_layout(:unknown)
end
def test_load_layout_should_set_default_layout_when_default_layout_is_nil
internal = Report::Internal.new(report, {})
- internal.load_layout(sample_layout1)
+ internal.load_layout(@layout_file.path)
assert_equal internal.default_layout.filename,
- sample_layout1
+ @layout_file.path
end
def test_load_layout_should_raise_error_when_invalid_value_set
internal = Report::Internal.new(report, {})
@@ -239,22 +183,22 @@
internal.load_layout('/path/to/unkown.tlf')
end
end
def test_copy_page_should_finalize_current_page
- layout = Thinreports::Layout.new(sample_layout1)
+ layout = Thinreports::Layout.new(@layout_file.path)
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
internal.add_page(page = Thinreports::Report::Page.new(report, layout))
internal.copy_page
assert page.finalized?
end
def test_copy_page_should_add_the_copied_page
- layout = Thinreports::Layout.new(sample_layout1)
+ layout = Thinreports::Layout.new(@layout_file.path)
- internal = Report::Internal.new(report, layout: sample_layout1)
+ internal = Report::Internal.new(report, layout: @layout_file.path)
internal.add_page(Thinreports::Report::Page.new(report, layout))
internal.copy_page
assert_equal internal.page_count, 2
end