require 'db/mongo/connectors/stack_template' require 'spec/connectors/tester_connector/stack_template' RSpec.describe Connectors::StackTemplate, type: :connector do set_tester_connector TesterConnector::StackTemplate let(:model_class) { Devops::Model::StackTemplateEc2 } include_examples 'mongo connector', { model_name: :stack_template, factory_name: :stack_template_ec2, only: [:insert, :show, :update, :delete], field_to_update: :owner } describe '#stack_templates' do subject { @connector.stack_templates('ec2') } it 'should be empty if collection is empty' do expect(subject).to eq [] end it "returns array of stack_templates of given provider" do @tester_connector.create(provider: 'ec2') @tester_connector.create(provider: 'openstack') expect(subject).to be_a(Array) expect(subject.length).to eq 1 expect(subject.first).to be_an_instance_of(model_class) expect(subject.first.provider).to eq 'ec2' @tester_connector.cleanup end it 'returns stack_templates for both providers if is is unset' do @tester_connector.create(provider: 'ec2') @tester_connector.create(provider: 'openstack') expect(@connector.stack_templates.length).to eq 2 @tester_connector.cleanup end end end