Sha256: a61d52b62a1ddeca57f2607d01b7aa6625750177699e604c7494ad4d60e355da
Contents?: true
Size: 1.95 KB
Versions: 1
Compression:
Stored size: 1.95 KB
Contents
require 'spec_helper' require 'ronin/db/software' describe Ronin::DB::Software do it "must use the 'ronin_softwares' table" do expect(described_class.table_name).to eq('ronin_softwares') end let(:name) { 'Test' } let(:version) { '0.1.0' } let(:vendor) { 'TestCo' } describe "validations" do describe "nmae" do it "must require name attribute" do software = described_class.new(version: version) expect(software).to_not be_valid expect(software.errors[:name]).to eq( ["can't be blank"] ) software = described_class.new(name: name, version: version) expect(software).to be_valid end end describe "version" do it "should require version attribute" do software = described_class.new(name: name) expect(software).to_not be_valid expect(software.errors[:version]).to eq( ["can't be blank"] ) software = described_class.new(name: name, version: version) expect(software).to be_valid end end it "the name and version attributes must be unique" do described_class.create(name: name, version: version) software = described_class.new(name: name, version: version) expect(software).to_not be_valid expect(software.errors[:version]).to eq( ['has already been taken'] ) described_class.destroy_all end end subject do described_class.new( name: name, version: version, vendor: Ronin::DB::SoftwareVendor.new(name: vendor) ) end describe "#to_s" do it "should be convertable to a String" do expect(subject.to_s).to eq("#{vendor} #{name} #{version}") end context "without a vendor" do subject do described_class.new(name: name, version: version) end it "should ignore the missing vendor information" do expect(subject.to_s).to eq("#{name} #{version}") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ronin-db-activerecord-0.1.0.beta1 | spec/software_spec.rb |