spec/synvert/snippets/rails/strong_parameters_spec.rb in synvert-0.0.14 vs spec/synvert/snippets/rails/strong_parameters_spec.rb in synvert-0.0.15
- old
+ new
@@ -30,10 +30,31 @@
'''}
let(:post_model_rewritten_content) {'''
class Post < ActiveRecord::Base
end
'''}
+ let(:user_model_content) {'''
+class User < ActiveRecord::Base
+ attr_protected :role, :admin
+end
+ '''}
+ let(:user_model_rewritten_content) {'''
+class User < ActiveRecord::Base
+end
+ '''}
+ let(:schema_content) {'''
+ActiveRecord::Schema.define(version: 20140211112752) do
+ create_table "users", force: true do |t|
+ t.string "login"
+ t.string "email"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ t.integer "role", default: 0, null: false
+ t.boolean "admin", default: false, null: false
+ end
+end
+ '''}
let(:posts_controller_content) {'''
class PostsController < ApplicationController
def update
@post = Post.find(params[:id])
if @post.update_attributes params[:post]
@@ -58,20 +79,54 @@
def post_params
params.require(:post).permit(:title, :description)
end
end
'''}
+ let(:users_controller_content) {'''
+class UsersController < ApplicationController
+ def update
+ @user = User.find(params[:id])
+ if @user.update_attributes params[:user]
+ redirect_to user_path(@user)
+ else
+ render :action => :edit
+ end
+ end
+end
+ '''}
+ let(:users_controller_rewritten_content) {'''
+class UsersController < ApplicationController
+ def update
+ @user = User.find(params[:id])
+ if @user.update_attributes user_params
+ redirect_to user_path(@user)
+ else
+ render :action => :edit
+ end
+ end
+ def user_params
+ params.require(:user).permit(:login, :email, :created_at, :updated_at)
+ end
+end
+ '''}
+
it 'process' do
FileUtils.mkdir_p 'config'
+ FileUtils.mkdir_p 'db'
FileUtils.mkdir_p 'app/models'
FileUtils.mkdir_p 'app/controllers'
File.write 'config/application.rb', application_content
+ File.write 'db/schema.rb', schema_content
File.write 'app/models/post.rb', post_model_content
+ File.write 'app/models/user.rb', user_model_content
File.write 'app/controllers/posts_controller.rb', posts_controller_content
+ File.write 'app/controllers/users_controller.rb', users_controller_content
@rewriter.process
expect(File.read 'config/application.rb').to eq application_rewritten_content
expect(File.read 'app/models/post.rb').to eq post_model_rewritten_content
+ expect(File.read 'app/models/user.rb').to eq user_model_rewritten_content
expect(File.read 'app/controllers/posts_controller.rb').to eq posts_controller_rewritten_content
+ expect(File.read 'app/controllers/users_controller.rb').to eq users_controller_rewritten_content
end
end
end