From 38e7ba3a7c7a414c5b087f7f32df1a09403fff89 Mon Sep 17 00:00:00 2001 From: Azul Date: Tue, 16 Jul 2013 19:38:37 +0200 Subject: first take on identity model - still broken --- users/app/models/identity.rb | 20 ++++++++++++++++++++ users/test/unit/identity_test.rb | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 users/app/models/identity.rb create mode 100644 users/test/unit/identity_test.rb (limited to 'users') diff --git a/users/app/models/identity.rb b/users/app/models/identity.rb new file mode 100644 index 0000000..a081394 --- /dev/null +++ b/users/app/models/identity.rb @@ -0,0 +1,20 @@ +class Identity < CouchRest::Model::Base + + use_database :identities + + belongs_to :user + + property :address + property :destination + + def initialize(attribs = {}, &block):q + attribs.reverse_merge! user_id: user.id, + address: user.main_email_address, + destination: user.main_email_address + Identity.new attribs + end + + design do + view :by_user_id + end +end diff --git a/users/test/unit/identity_test.rb b/users/test/unit/identity_test.rb new file mode 100644 index 0000000..389ef89 --- /dev/null +++ b/users/test/unit/identity_test.rb @@ -0,0 +1,34 @@ +require 'test_helper' + +class IdentityTest < ActiveSupport::TestCase + + setup do + @user = FactoryGirl.create(:user) + end + + test "user has identity to start with" do + id = Identity.new user_id: @user.id + id.save + assert_equal 1, Identity.by_user_id.key(@user.id).count + identity = Identity.find_by_user_id(@user.id) + assert_equal @user.email_address, identity.address + assert_equal @user.email_address, identity.destination + assert_equal @user, identity.user + end + + test "add alias" do + skip + @user.create_identity address: @alias + end + + test "add forward" do + skip + @user.create_identity destination: @external + end + + test "forward alias" do + skip + @user.create_identity address: @alias, destination: @external + end + +end -- cgit v1.2.3