Sha256: c5463ead20e66f88cd8a4735bd25f437d329bce1028b7b2ba3d10253eaf22351
Contents?: true
Size: 1.52 KB
Versions: 3
Compression:
Stored size: 1.52 KB
Contents
require 'spec_helper' describe Nullalign::Models do def models(load_path) Nullalign::Models.new(load_path) end it "gets the load path" do expect(models([:a, :b, :c]).load_path).to eq([:a, :b, :c]) end it "gets the directories matching /models/" do models = models(["foo/bar/baz", "app/models", "some/other/models"]) expect(models.dirs).to eq(["app/models", "some/other/models"]) end it "accepts and matches path names as well as strings" do models = models([Pathname.new("app/models")]) expect { models.dirs }.not_to raise_error expect(models.dirs).to eq([Pathname.new("app/models")]) end it "preloads models by calling require_dependency" do models = models(["foo/bar/baz", "app/models", "some/other/models"]) allow(Dir).to receive(:glob). with(File.join("app/models", "**", "*.rb")). and_return(["app/models/account.rb"]) allow(Dir).to receive(:glob). with(File.join("some/other/models", "**", "*.rb")). and_return(["some/other/models/foo.rb"]) expect(Kernel).to receive(:require_dependency).with("app/models/account.rb") expect(Kernel).to receive(:require_dependency).with("some/other/models/foo.rb") models.preload_all end it "gets all models" do model_a = double(:name => "animal") model_b = double(:name => "cat") model_c = double(:name => "beach_ball") allow(ActiveRecord::Base).to receive(:descendants).and_return([model_a, model_b, model_c]) expect(models([]).all).to eq([model_a, model_c, model_b]) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
nullalign-0.0.4 | spec/models_spec.rb |
nullalign-0.0.3 | spec/models_spec.rb |
nullalign-0.0.2 | spec/models_spec.rb |