Sha256: d47113776b9f3eb88716807374bdb6199d1813b2fbd7fc6041bed6baf9db8f08
Contents?: true
Size: 1.28 KB
Versions: 2
Compression:
Stored size: 1.28 KB
Contents
require 'spec_helper' describe Frenetic::StructureRegistry do let(:retriever_class) { described_class::Retriever } subject(:instance) do Frenetic::StructureRegistry.new(retriever_class:retriever_class) end describe '#construct' do let(:resource) { Class.new } let(:attributes) do { 'id' => 123 } end let(:key) { 'MockKey' } subject { super().construct(resource, attributes, key) } it 'returns an instantiated Structure class' do expect(subject).to be_a Struct::MockKey end it 'assigns the specified attributes to the Struct instance' do expect(subject.id).to eq 123 end it 'registers the Struct' do subject expect(instance.signatures).to_not be_empty end end describe '#fetch' do let(:mock_retriever) { double('MockRetriever') } let(:retriever_class) { double('MockRetrieverClass', new: mock_retriever) } let(:resource) { Class.new } let(:attributes) do { 'id' => 123 } end let(:key) { 'MockKey' } subject { super().fetch(resource, attributes, key) } it 'invokes Frenetic::StructureRegistry::Retriever#call' do allow(mock_retriever).to receive(:call) subject expect(mock_retriever).to have_received(:call) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
frenetic-3.0.1 | spec/structure_registry_spec.rb |
frenetic-3.0.0 | spec/structure_registry_spec.rb |