Sha256: b0fe5cfbaecc3807abebf3f84ad5c81b665f0014411be6d1bcd061cb29781fc2

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 KB

Contents

require 'spec_helper'
require 'ronin/db/user_name'

describe Ronin::DB::UserName do
  it "must use the 'ronin_user_names' table" do
    expect(described_class.table_name).to eq('ronin_user_names')
  end

  it "must include Ronin::DB::Model::HasUniqueName" do
    expect(described_class).to include(Ronin::DB::Model::HasUniqueName)
  end

  let(:name) { 'jsmith' }

  subject { described_class.new(name: name) }

  describe "validations" do
    it "should require a name" do
      user = described_class.new
      expect(user).not_to be_valid

      user = described_class.new(name: name)
      expect(user).to be_valid
    end
  end

  describe ".lookup" do
    before do
      described_class.create(name: 'other1')
      described_class.create(name: name)
      described_class.create(name: 'other2')
    end

    it "must query the #{described_class} with the matching name" do
      user_name = described_class.lookup(name)

      expect(user_name).to be_kind_of(described_class)
      expect(user_name.name).to eq(name)
    end

    after { described_class.destroy_all }
  end

  describe ".import" do
    subject { described_class.import(name) }

    it "must import the #{described_class} for the user name" do
      expect(subject).to be_kind_of(described_class)
      expect(subject.name).to eq(name)
    end

    after { subject.destroy }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ronin-db-activerecord-0.1.0.beta1 spec/user_name_spec.rb