Sha256: d186ad47276554336d068f2d7226ad7eb6a06295e6f99d8448210a24a1d50afb

Contents?: true

Size: 1.49 KB

Versions: 60

Compression:

Stored size: 1.49 KB

Contents

require 'spec_helper'

describe Mdm::HostTag do
  it_should_behave_like 'Metasploit::Concern.run'

  context 'associations' do
    it { should belong_to(:host).class_name('Mdm::Host') }
    it { should belong_to(:tag).class_name('Mdm::Tag') }
  end

  context 'database' do
    context 'columns' do
      it { should have_db_column(:host_id).of_type(:integer) }
      it { should have_db_column(:tag_id).of_type(:integer) }
    end
  end

  context 'factories' do
    context 'mdm_host_tag' do
      subject(:mdm_host_tag) do
        FactoryGirl.build(:mdm_host_tag)
      end

      it { should be_valid }
    end
  end

  context '#destroy' do
    let(:tag) do
      FactoryGirl.create(
          :mdm_tag
      )
    end

    let!(:host_tag) do
      FactoryGirl.create(
          :mdm_host_tag,
          :tag => tag
      )
    end

    it 'should delete 1 Mdm::HostTag' do
      expect {
        host_tag.destroy
      }.to change(Mdm::HostTag, :count).by(-1)
    end

    context 'with multiple Mdm::HostTags using same Mdm::Tag' do
      let!(:other_host_tag) do
        FactoryGirl.create(
            :mdm_host_tag,
            :tag => tag
        )
      end

      it 'should not delete Mdm::Tag' do
        expect {
          host_tag.destroy
        }.to_not change(Mdm::Tag, :count)
      end
    end

    context 'with only one Mdm::HostTag using Mdm::Tag' do
      it 'should delete Mdm::Tag' do
        expect {
          host_tag.destroy
        }.to change(Mdm::Tag, :count).by(-1)
      end
    end
  end
end

Version data entries

60 entries across 60 versions & 1 rubygems

Version Path
metasploit_data_models-0.24.5 spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.24.1 spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-1.0.0.pre.rails.pre.4.0b spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-1.0.0.pre.rails.pre.4.0a spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.24.0 spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.23.3.pre.autoload spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.23.2 spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.23.2-java spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.23.1 spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.23.1-java spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.23.0 spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.23.0-java spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.22.8 spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.22.8-java spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.22.7 spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.22.7-java spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.22.6 spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.22.6-java spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.22.5 spec/app/models/mdm/host_tag_spec.rb
metasploit_data_models-0.22.5-java spec/app/models/mdm/host_tag_spec.rb