Sha256: 863546efaa1d2c91dd2cf0f8debb215b9236f856323305cd4cb6a1e1719f5259

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

require 'spec_helper'

describe Uploadcare::Rails::Group, :vcr do
  let(:post) { PostWithCollection.new(title: 'Title', file: GROUP_CDN_URL) }
  let(:group) { post.file }
  let(:subject) { group }

  describe 'instance' do
    it 'is Uploadcare::Rails::Gropu' do
      is_expected.to be_an(Uploadcare::Rails::Group)
    end

    it 'is not loaded by default' do
      is_expected.not_to be_loaded
    end

    it 'responds to :uuid and :to_s methods' do
      expect(group.to_s).to eq(subject.uuid)
    end
  end

  describe 'loaded group', vcr: { cassette_name: :load_group} do
    let(:subject) { group.load }

    it 'loads itself' do
      is_expected.to be_loaded
    end

    it 'has files' do
      expect(subject.files).to be_an(Array)
      expect(subject.files.sample).to be_an(Uploadcare::Rails::File)
    end

    it 'loaded group files should be loaded too' do
      expect(subject.files.sample).to be_loaded
    end
  end

  describe 'images workaround' do
    it 'is an array' do
      expect(subject.urls).to be_an(Array)
    end

    it 'builds images url' do
      expect(subject.urls(size: '200x200').first).
        to eq(
          "http://www.ucarecdn.com/#{ subject.uuid }/nth/0/-/resize/200x200/"
        )
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
uploadcare-rails-1.1.0 spec/objects/group_spec.rb