require 'test_helper' module PaginatedTable describe ViewHelpers do let(:params) { stub("params") } let(:view) { view = Object.new view.send(:extend, ViewHelpers) view.stubs("params" => params) view } let(:options) { stub("options") } let(:page) { stub("page") } let(:data_page) { stub("data_page", :page => page) } let(:description_block) { lambda {} } describe "#paginated_table" do it "renders a table" do table_description = stub("table_description") TableDescription.stubs("new").with(options, description_block). returns(table_description) link_renderer = stub("link_renderer") LinkRenderer.stubs("new").with(page).returns(link_renderer) table_renderer = stub("table_renderer") TableRenderer.stubs("new"). with(view, table_description, data_page, link_renderer). returns(table_renderer) table_renderer.expects("render") view.paginated_table(data_page, options, &description_block) end end end end