spec/objects/group_spec.rb in uploadcare-rails-1.0.6 vs spec/objects/group_spec.rb in uploadcare-rails-1.1.0

- old
+ new

@@ -1,40 +1,51 @@ -require "spec_helper" +require 'spec_helper' -describe Uploadcare::Rails::Group do - before :each do - @post = PostWithCollection.new title: "Post title", file: GROUP_CDN_URL - @group = @post.file - end +describe Uploadcare::Rails::Group, :vcr do + let(:post) { PostWithCollection.new(title: 'Title', file: GROUP_CDN_URL) } + let(:group) { post.file } + let(:subject) { group } - after :each do - Rails.cache.delete GROUP_CDN_URL - end + describe 'instance' do + it 'is Uploadcare::Rails::Gropu' do + is_expected.to be_an(Uploadcare::Rails::Group) + end - it "should be Uploadcare::Rails::File" do - @group.should be_kind_of(Uploadcare::Rails::Group) - end + it 'is not loaded by default' do + is_expected.not_to be_loaded + end - it "should be not loaded by default" do - @group.loaded?.should == false + it 'responds to :uuid and :to_s methods' do + expect(group.to_s).to eq(subject.uuid) + end end - it "should load itself" do - @group.load - @group.loaded?.should == true - end + describe 'loaded group', vcr: { cassette_name: :load_group} do + let(:subject) { group.load } - it "file should respond to :uuid and :to_s methods" do - @group.to_s.should == @group.uuid - end + it 'loads itself' do + is_expected.to be_loaded + end - it "group should have files" do - @group.load - @group.files.should be_kind_of(Array) - @group.files.sample.should be_kind_of(Uploadcare::Rails::File) + 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 - it "loaded group files should be loaded too" do - @group.load - @group.files.sample.loaded?.should == true + 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 \ No newline at end of file +end