spec/integration/integration_spec.rb in draper-1.0.0 vs spec/integration/integration_spec.rb in draper-1.1.0

- old
+ new

@@ -1,33 +1,58 @@ require 'spec_helper' require 'support/dummy_app' require 'support/matchers/have_text' app = DummyApp.new(ENV["RAILS_ENV"]) +spec_types = { + view: ["/posts/1", "PostsController"], + mailer: ["/posts/1/mail", "PostMailer"] +} app.start_server do - {view: "/posts/1", mailer: "/posts/1/mail"}.each do |type, path| + spec_types.each do |type, (path, controller)| page = app.get(path) describe "in a #{type}" do it "runs in the correct environment" do - page.should have_text(app.environment).in("#environment") + expect(page).to have_text(app.environment).in("#environment") end + it "uses the correct view context controller" do + expect(page).to have_text(controller).in("#controller") + end + + it "can use built-in helpers" do + expect(page).to have_text("Once upon a...").in("#truncated") + end + + it "can use built-in private helpers" do + # Nokogiri unescapes text! + expect(page).to have_text("<script>danger</script>").in("#html_escaped") + end + + it "can use user-defined helpers from app/helpers" do + expect(page).to have_text("Hello, world!").in("#hello_world") + end + + it "can use user-defined helpers from the controller" do + expect(page).to have_text("Goodnight, moon!").in("#goodnight_moon") + end + it "can use path helpers with a model" do - page.should have_text("/en/posts/1").in("#path_with_model") + expect(page).to have_text("/en/posts/1").in("#path_with_model") end it "can use path helpers with an id" do - page.should have_text("/en/posts/1").in("#path_with_id") + expect(page).to have_text("/en/posts/1").in("#path_with_id") end it "can use url helpers with a model" do - page.should have_text("http://www.example.com:12345/en/posts/1").in("#url_with_model") + expect(page).to have_text("http://www.example.com:12345/en/posts/1").in("#url_with_model") end it "can use url helpers with an id" do - page.should have_text("http://www.example.com:12345/en/posts/1").in("#url_with_id") + expect(page).to have_text("http://www.example.com:12345/en/posts/1").in("#url_with_id") end end end end