require 'test_helper' class EventTrackingTest < ActionDispatch::IntegrationTest setup do browser_start @image = lentil_images(:one) end teardown do browser_end end test "should trigger an event for clicking on an image" do visit(lentil.images_path) find("#image_#{@image.id} a.fancybox").click assert_equal("_trackEvent,image,click,image_#{@image.id}", console_messages[-2][:message]) assert_equal("_trackPageview,/lentil/images/#{@image.id}", console_message) end test "should trigger an event for clicking on the share button" do visit(lentil.image_path(@image)) find('.share').click assert_equal("_trackEvent,image_view,share,#{@image.id}", console_message) end test "should trigger an event for clicking on the facebook share link" do visit(lentil.image_path(@image)) find('.share').click find('.facebook').click assert_equal("_trackEvent,image_view,facebook,#{@image.id}", console_message) end test "should trigger an event for clicking on the twitter share link" do visit(lentil.image_path(@image)) find('.share').click find('.twitter').click assert_equal("_trackEvent,image_view,twitter,#{@image.id}", console_message) end # FIXME: This fails due to the mailto link. # test "should trigger an event for clicking on the email share link" do # visit(lentil.image_path(@image)) # find('.share').click # find('.email').click # assert_equal("_trackEvent,image_view,email,#{@image.id}", console_message) # end test "should trigger an event for liking and unliking an image" do visit lentil.image_path(@image) find('.like-btn.initial-state', :visible => true).click assert_equal("_trackEvent,image_view,like,#{@image.id}", console_message) find('.like-btn.already-clicked', :visible => true).click assert_equal("_trackEvent,image_view,unlike,#{@image.id}", console_message) end # TODO: Not currently implemented # test "should trigger an event for unliking an image that was previously liked" do # visit lentil.image_path(@image) # find('.like-btn.initial-state').click # visit lentil.images_path # visit lentil.image_path(@image) # find('.like-btn.already-clicked').click # assert_equal("_trackEvent,image_view,unlike,#{@image.id}", console_message) # end test "clicking the flag button" do visit lentil.image_path(@image) find('.flag-btn', :visible => true).click assert_equal("_trackEvent,image_view,flag,#{@image.id}", console_message) end end