require "ohm" require_relative "helper" require_relative "../lib/scrivener/ohm" Ohm.redis = Redic.new("redis://localhost:6379") Ohm.redis.call("SELECT", "30") class User < Ohm::Model attribute :email unique :email end class Signup < Scrivener attr_accessor :email def validate assert_unique :email, :User end end prepare do Ohm.flush end test "invalid if attribute is already taken" do user = User.create(email: "aquiles@me.com") signup = Signup.new(email: user.email) assert !(signup.valid?) assert_equal [:not_unique], signup.errors[:email] end test "valid if attribute is not taken" do signup = Signup.new(email: "aquiles@me.com") assert signup.valid? assert signup.errors.empty? end