Sha256: 355b0a641a6a8babec3c5948ed05e90f2643725a7e86a09e05a24f329c1cc233

Contents?: true

Size: 1.92 KB

Versions: 3

Compression:

Stored size: 1.92 KB

Contents

require "lanes/spec_helper"
require_relative "minitest_assertions"
require "active_record_mocks"

require 'lanes/command'
require 'lanes/workspace/extension'
require 'mocha/mini_test'


module TestingModels
    include ActiveRecordMocks::IncludeMe

    def around(&block)
        cw_root = CarrierWave.root
        begin
            Dir.mktmpdir('lanes-cw-root') do | dir |
                CarrierWave.root = dir
                self.with_testing_models(&block)
            end
        ensure
            CarrierWave.root = cw_root
        end
    end

    def with_testing_models
        with_mocked_tables do |m|

            m.enable_extension "hstore"

            m.create_table do |t|
                t.model_name :TestModel
                t.parent_class "Lanes::Model"
                t.belongs_to :bt, class_name: 'Tmbt'
                t.has_many   :hm, class_name: 'Tmhm'
                t.layout do |l|
                    l.integer :bt_id
                    l.string :name, :number
                end
            end
            TestModel.export_associations( :bt, :hm, writable: true )

            m.create_table do |t|
                t.model_name :Tmbt
                t.parent_class "Lanes::Model"
                t.layout do |l|
                    l.string :description, :secret_field, :notes
                end
            end

            m.create_table do |t|
                t.model_name :Tmhm
                t.parent_class "Lanes::Model"
                t.layout do |l|
                    l.integer :test_model_id
                    l.string :description, :secret_field, :notes
                end
            end
            Tmhm.blacklist_attributes :secret_field

            yield

            TestModel.blacklisted_attributes.clear if TestModel.blacklisted_attributes

        end
    end


end

class Lanes::TestCase

    def fixtures_path
        Pathname.new(__FILE__).dirname.join("..","fixtures").expand_path
    end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lanes-0.5.6 spec/server/spec_helper.rb
lanes-0.5.5 spec/server/spec_helper.rb
lanes-0.5.0 spec/server/spec_helper.rb