Sha256: da1b13ec356a0ea10cf6a3bf58184ba5a7fb938918e591a60efbd83b76ab0281

Contents?: true

Size: 1.06 KB

Versions: 5

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe Acfs::Resource::Attributes::UUID do
  let(:type) { Acfs::Resource::Attributes::UUID.new }

  describe '#cast' do
    subject { -> { type.cast(value) } }

    context 'with nil' do
      let(:value) { nil }
      it { expect(subject.call).to eq nil }
    end

    context 'with empty string' do
      let(:value) { '' }
      it { expect(subject.call).to eq nil }
    end

    context 'with blank string' do
      let(:value) { "  \t" }
      it { expect(subject.call).to eq nil }
    end

    context 'with string UUID' do
      let(:value) { '450b7a40-94ad-11e3-baa8-0800200c9a66' }
      it { expect(subject.call).to be_a String }
      it { expect(subject.call).to eq value }
    end

    context 'with invalid string' do
      let(:value) { 'invalid string' }
      it { is_expected.to raise_error TypeError, /invalid UUID/i }
    end

    context 'with invalid UUID' do
      let(:value) { 'xxxxxxxx-yyyy-11e3-baa8-0800200c9a66' }
      it { is_expected.to raise_error TypeError, /invalid UUID/i }
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
acfs-1.6.0 spec/acfs/resource/attributes/uuid_spec.rb
acfs-1.5.1 spec/acfs/resource/attributes/uuid_spec.rb
acfs-1.5.0 spec/acfs/resource/attributes/uuid_spec.rb
acfs-1.4.0 spec/acfs/resource/attributes/uuid_spec.rb
acfs-1.3.4 spec/acfs/resource/attributes/uuid_spec.rb