Sha256: 27e5172a0bc32e80385baa3962bfd0cf2db76961a0771828e307b60de47f0d88

Contents?: true

Size: 1.73 KB

Versions: 5

Compression:

Stored size: 1.73 KB

Contents

require 'spec_helper'

describe MediaMagick::Controller::Helpers do
  let(:controller) { Class.new }

  before do
    controller.extend MediaMagick::Controller::Helpers
  end

  describe "getting doc by params" do
    let(:track) { Track.new }
    let!(:album) { Album.create(tracks: [track]) }

    context "document is embedded" do
      it "should get parent by params" do
        params = {
          :embedded_in_model => "album",
          :embedded_in_id    => "#{album.id.to_s}",
          :model             => "track",
          :model_id          => "#{track.id.to_s}"
        }
        controller.find_doc_by_params(params).should eq(track)
      end
    end

    context "document is root" do
      it "should get parent by params" do
        params = {
          :model             => "album",
          :model_id          => "#{album.id.to_s}"
        }
        controller.find_doc_by_params(params).should eq(album)
      end
    end
  end

  describe "creating video" do
    context "relation is attaches many" do
      let(:video_url) { "youtube.com/watch?v=FfUHkPf9D9k" }
      let!(:album) { Album.create }

      it "should create video" do
        params = {relation: "photos_and_videos", video: video_url}

        controller.create_video(album, params).should be_true
        album.reload.photos_and_videos.first.video.should eq(video_url)
      end
    end

    context "relation is attaches one" do
      let(:video_url) { "youtube.com/watch?v=FfUHkPf9D9k" }
      let!(:user) { User.create }

      it "should create video" do
        params = {relation: "photo_and_video", video: video_url}

        controller.create_video(user, params).should be_true
        user.reload.photo_and_video.video.should eq(video_url)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
media_magick-0.4.1 spec/lib/media_magick/controller/helper_spec.rb
media_magick-0.4.0 spec/lib/media_magick/controller/helper_spec.rb
media_magick-0.3.3 spec/lib/media_magick/controller/helper_spec.rb
media_magick-0.3.2 spec/lib/media_magick/controller/helper_spec.rb
media_magick-0.3.0 spec/lib/media_magick/controller/helper_spec.rb