Sha256: b2c9177a63344ae3d710922187a4df828d2ac374a8e09371d264555c5b5417d5

Contents?: true

Size: 1.85 KB

Versions: 5

Compression:

Stored size: 1.85 KB

Contents

require 'spec_helper'

module Localtower
  module Generators
    describe Model do
      before(:all) do
        clean_files
      end

      after(:all) do
      end

      it 'create a post' do
        data = attributes_for(:post_one)
        data["run_migrate"] = true

        ::Localtower::Generators::Model.new(data).run

        expect(File.exist?("#{Rails.root}/app/models/post.rb")).to eq(true)
        expect(::Localtower::Tools.word_in_file?("#{Rails.root}/app/models/post.rb", /class Post/)).to eq(true)

        expect(::Localtower::Tools.word_in_file?("#{Rails.root}/db/schema.rb", /create_table "posts"/)).to eq(true)
        expect(::Localtower::Tools.word_in_file?("#{Rails.root}/db/schema.rb", /t.string(.*)"title"/)).to eq(true)
        expect(::Localtower::Tools.word_in_file?("#{Rails.root}/db/schema.rb", /t.text(.*)"content"/)).to eq(true)
        expect(::Localtower::Tools.word_in_file?("#{Rails.root}/db/schema.rb", /t.index(.*)\["title"\], name: "index_posts_on_title"/)).to eq(true)
      end

      it 'create a user' do
        data = attributes_for(:user_one)
        data["run_migrate"] = true

        ::Localtower::Generators::Model.new(data).run

        expect(File.exist?("#{Rails.root}/app/models/user.rb")).to eq(true)
        expect(::Localtower::Tools.word_in_file?("#{Rails.root}/app/models/user.rb", /class User/)).to eq(true)
        expect(::Localtower::Tools.word_in_file?("#{Rails.root}/db/schema.rb", /create_table "users"/)).to eq(true)
        expect(::Localtower::Tools.word_in_file?("#{Rails.root}/db/schema.rb", /t.string(.*)"name"/)).to eq(true)
        expect(::Localtower::Tools.word_in_file?("#{Rails.root}/db/schema.rb", /t.jsonb(.*)"metadata"/)).to eq(true)
        expect(::Localtower::Tools.word_in_file?("#{Rails.root}/db/schema.rb", /t.index(.*)\["name"\], name: "index_users_on_name"/)).to eq(true)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
localtower-0.5.0 spec/lib/localtower/generators/model_spec.rb
localtower-0.4.2 spec/lib/localtower/generators/model_spec.rb
localtower-0.4.1 spec/lib/localtower/generators/model_spec.rb
localtower-0.4.0 spec/lib/localtower/generators/model_spec.rb
localtower-0.3.1 spec/lib/localtower/generators/model_spec.rb