Sha256: 7de7c7c9f31dd83a459197f686b9bef54fdbda7a4dd474fcec1d9693eeb24214
Contents?: true
Size: 1.63 KB
Versions: 1
Compression:
Stored size: 1.63 KB
Contents
require "acceptance_helper" RSpec.describe "User manages triggers" do it "handles simple triggers" do successfully "rails generate model user name:string upper_name:string" successfully "rails generate fx:function uppercase_users_name" write_function_definition "uppercase_users_name_v01", <<~EOS CREATE OR REPLACE FUNCTION uppercase_users_name() RETURNS trigger AS $$ BEGIN NEW.upper_name = UPPER(NEW.name); RETURN NEW; END; $$ LANGUAGE plpgsql; EOS successfully "rails generate fx:trigger uppercase_users_name table_name:users" write_trigger_definition "uppercase_users_name_v01", <<~EOS CREATE TRIGGER uppercase_users_name BEFORE INSERT ON users FOR EACH ROW EXECUTE FUNCTION uppercase_users_name(); EOS successfully "rake db:migrate" execute <<~EOS INSERT INTO users (name, created_at, updated_at) VALUES ('Bob', NOW(), NOW()); EOS result = execute("SELECT upper_name FROM users WHERE name = 'Bob';") expect(result).to eq("upper_name" => "BOB") successfully "rails generate fx:trigger uppercase_users_name table_name:users" write_trigger_definition "uppercase_users_name_v02", <<~EOS CREATE TRIGGER uppercase_users_name BEFORE UPDATE ON users FOR EACH ROW EXECUTE FUNCTION uppercase_users_name(); EOS successfully "rake db:migrate" execute <<~EOS UPDATE users SET name = 'Alice' WHERE id = 1; EOS result = execute("SELECT upper_name FROM users WHERE name = 'Alice';") expect(result).to eq("upper_name" => "ALICE") end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fx-0.9.0 | spec/acceptance/user_manages_triggers_spec.rb |