Sha256: c0b5416825d5c8626febf5239a32cbebcc18e07686e674d436b1a0d420712ce2

Contents?: true

Size: 1.29 KB

Versions: 2

Compression:

Stored size: 1.29 KB

Contents

require "spec_helper"

RSpec.describe Ribose::FileUploader do
  describe ".upload" do
    context "with valid data" do
      it "creates a new upload with details" do
        space_id = 123_456_789

        stub_ribose_space_file_upload_api(space_id, file_attributes)
        file_upload = Ribose::FileUploader.upload(space_id, file_attributes)

        expect(file_upload.attachment.id).not_to be_nil
        expect(file_upload.attachment.author).to eq("John Doe")
        expect(file_upload.attachment.content_type).to eq("image/png")
      end
    end

    context "with unknown file type" do
      it "creates a new upload as octet-stream" do
        space_id = 123_456_789
        attributes = file_attributes(File.join(Ribose.root, "Rakefile"))

        stub_ribose_space_file_upload_api(space_id, attributes)
        file_upload = Ribose::FileUploader.upload(space_id, attributes)

        expect(file_upload.attachment.id).not_to be_nil
        expect(file_upload.attachment.author).to eq("John Doe")
      end
    end
  end

  def file_attributes(file = nil)
    {
      file: file || sample_fixture_file,
      tag_list: "sample, file, samplefile",
      description: "This is a sample file",
    }
  end

  def sample_fixture_file
    @sample_file ||= File.join(Ribose.root, "spec/fixtures/sample.png")
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ribose-0.4.1 spec/ribose/file_uploader_spec.rb
ribose-0.4.0 spec/ribose/file_uploader_spec.rb