Sha256: dbc871d50468e9a89d5e44a07c8cd1fb6ef5a44da76a98cadabc469d5d431afa

Contents?: true

Size: 946 Bytes

Versions: 16

Compression:

Stored size: 946 Bytes

Contents

require 'spec_helper'

class ::TestSaveFailure < Volt::Model
  validate :name, length: 5
end

describe Volt::Buffer do
  it 'should let you pass a block that evaluates to the then of the promise' do
    buffer = the_page._items!.buffer

    count = 0
    result = buffer.save! do
      count += 1
    end

    expect(count).to eq(1)
    expect(result.class).to eq(Promise)
  end

  if RUBY_PLATFORM != 'opal'
    it 'should reject a failed save! with the errors object' do
      buffer = the_page._test_save_failures.buffer

      buffer._name = 'Ryan'

      then_count = 0
      fail_count = 0
      error = nil

      buffer.save!.then do
        then_count += 1
      end.fail do |err|
        fail_count += 1
        error = err
      end

      expect(then_count).to eq(0)
      expect(fail_count).to eq(1)
      expect(error.class).to eq(Volt::Errors)
      expect(error).to eq({:name=>["must be at least 5 characters"]})
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
volt-0.9.1 spec/models/buffer_spec.rb
volt-0.9.1.pre5 spec/models/buffer_spec.rb
volt-0.9.1.pre4 spec/models/buffer_spec.rb
volt-0.9.1.pre3 spec/models/buffer_spec.rb
volt-0.9.1.pre2 spec/models/buffer_spec.rb
volt-0.9.1.pre1 spec/models/buffer_spec.rb
volt-0.9.0 spec/models/buffer_spec.rb
volt-0.9.0.pre7 spec/models/buffer_spec.rb
volt-0.9.0.pre6 spec/models/buffer_spec.rb
volt-0.9.0.pre5 spec/models/buffer_spec.rb
volt-0.9.0.pre4 spec/models/buffer_spec.rb
volt-0.9.0.pre3 spec/models/buffer_spec.rb
volt-0.9.0.pre2 spec/models/buffer_spec.rb
volt-0.9.0.pre1 spec/models/buffer_spec.rb
volt-0.8.27.beta9 spec/models/buffer_spec.rb
volt-0.8.27.beta8 spec/models/buffer_spec.rb