Sha256: a0aa0e4c377753298bfa6c7ac94c4c220febb5a579bf30e0c43d123c62e6bd7c

Contents?: true

Size: 1.39 KB

Versions: 5

Compression:

Stored size: 1.39 KB

Contents

require 'test_helper'
require 'vedeu/support/interface_store'

module Vedeu
  describe InterfaceStore do
    before { InterfaceStore.reset }

    describe '.update' do
      it 'returns an Interface' do
        InterfaceStore.update('dummy', { name: 'dumber' })
          .must_be_instance_of(Interface)
      end

      it 'updates and returns the existing interface when the interface exists' do
        InterfaceStore.update('dummy', { name: 'dumber' }).name
          .must_equal('dumber')
      end

      it 'returns a new interface when the interface does not exist' do
        InterfaceStore.update('dummy', { name: 'dumber' }).name
          .must_equal('dumber')
      end
    end

    describe '#create' do
      it 'creates and returns the stored record' do
        InterfaceStore.create({ name: 'dummy' })
          .must_be_instance_of(Interface)
      end
    end

    describe '#query' do
      it 'returns the record when found' do
        InterfaceStore.create({ name: 'hydrogen' })

        InterfaceStore.query('hydrogen').name.must_equal('hydrogen')
      end

      it 'raises an exception when the record cannot be found' do
        proc { InterfaceStore.query('dummy') }.must_raise(EntityNotFound)
      end
    end

    describe '#reset' do
      it 'deletes all records stored' do
        InterfaceStore.create({ name: 'dumb' })
        InterfaceStore.reset.must_equal({})
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
vedeu-0.1.7 test/lib/vedeu/support/interface_store_test.rb
vedeu-0.1.6 test/lib/vedeu/support/interface_store_test.rb
vedeu-0.1.5 test/lib/vedeu/support/interface_store_test.rb
vedeu-0.1.4 test/lib/vedeu/support/interface_store_test.rb
vedeu-0.1.3 test/lib/vedeu/support/interface_store_test.rb