Sha256: 671c030c73a7aeeeb4e23f744a334bb85cb6178d519bbeb5621639eaec55e644

Contents?: true

Size: 1.77 KB

Versions: 4

Compression:

Stored size: 1.77 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'

# ext = Extensions.controlling
# if ext.is_a?(::Lanes::Extensions::Base)
#     Extensions.lock_controlling!
#     require_relative '../workspace/extension'
# end

module TestingModels
    include ActiveRecordMocks::IncludeMe

    def around(&block)
        self.with_testing_models(&block)
    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 TestCase < ActiveSupport::TestCase

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
lanes-0.1.9.5 spec/server/spec_helper.rb
lanes-0.1.9 spec/server/spec_helper.rb
lanes-0.1.8 spec/server/spec_helper.rb
lanes-0.1.7 spec/server/spec_helper.rb