Ruby on Rails Tuesday, January 6, 2015

Hi!

I'm upgrading a small Rails 4.1.x app to 4.2.

All my test suite is passing, except one spec:

    scenario "showing a video called from a track" do
      visit video_path(video, level_id: level.id)
      sign_in create(:confirmed_user)

      expect(page).to have_selector "video[poster=\"#{video.poster(:original)}\"]"      
    end

Here is the factory:

FactoryGirl.define do
  factory :video do
    title "Cadastrando um cliente"
    poster { Rack::Test::UploadedFile.new("#{::Rails.root}/spec/fixtures/image.png", "image/png") }
    video { Rack::Test::UploadedFile.new("#{::Rails.root}/spec/fixtures/video.mp4", "video/mp4") }
  end
end

That's the problem:

Video Pages

  when showing

    showing a video called from a track (FAILED - 1)

  HTML screenshot: /Users/cezinha/dev/universidade/tmp/capybara/2015-01-06-09-31-30-screenshot-showing-a-video-called-from-a-track.html


Failures:


  1) Video Pages when showing showing a video called from a track

     Failure/Error: expect(page).to have_selector "video[poster=\"#{video.poster(:original)}\"]"

       expected to find css "video[poster=\"/system/videos/posters/000/000/001/original/image.png?1420543889\"]" but there were no matches

     # ./spec/features/video_spec.rb:66:in `block (3 levels) in <top (required)>'


When I inspect the generated HTML I have:

<video class="img-responsive"

          controls preload autoplay poster="/system/videos/posters/000/000/001/original/image.png?1420543954"

          data-level_id=1

         <source src=/system/videos/videos/000/000/001/original/video.mp4?1420543954 type="video/mp4" />


When I inspect the video.poster(:original) I have:


/system/videos/posters/000/000/001/original/image.png?1420543953


The worst: sometimes it pass and sometimes not.

My impression is that the content of the file is changing while I'm testing and because of this, the fingerprint is different too.

Does anyone can help me?

Thanks.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/1a956797-df09-4e34-aea0-7d889a681e7e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment