diff --git a/.gitignore b/.gitignore index b09f9b136..49b150d1d 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ public/uploads/* public/source.tar* tmp/**/* db/*.sqlite3 +.redcar # Temporary files of every sort .DS_Store diff --git a/app/models/person.rb b/app/models/person.rb index 70a961f0e..b7025a25e 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -37,8 +37,9 @@ class Person before_destroy :remove_all_traces before_validation :clean_url validates_presence_of :url, :profile, :serialized_public_key - validates_format_of :url, :with => - /^(https?):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*(\.[a-z]{2,5})?(:[0-9]{1,5})?(\/.*)?$/ix + validates_uniqueness_of :diaspora_handle, :case_sensitive => false + #validates_format_of :url, :with => + # /^(https?):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*(\.[a-z]{2,5})?(:[0-9]{1,5})?(\/.*)?$/ix ensure_index :diaspora_handle diff --git a/config/app_config.yml.example b/config/app_config.yml.example index 832f928c9..2445453aa 100644 --- a/config/app_config.yml.example +++ b/config/app_config.yml.example @@ -3,25 +3,57 @@ # the COPYRIGHT file. default: + + # Hostname of this host, as seen from the internet. pod_url: "http://example.org/" + + # Enable extensive logging to log/{development,test,production}.log debug: false + + # Websocket server setup, see script/websocket_server.rb + # Enable extensive logging to websocket server. socket_debug : false + + # Websocket host, leave as 0.0.0.0 unless you know what you are doing socket_host: 0.0.0.0 + + # File containing pid of running script/websocket_server.rb socket_pidfile: "log/diaspora-wsd.pid" + + # Websocket port, should normally be 8080 or 8081. socket_port: 8080 socket_collection_name: 'websocket' + + # Diaspora is only tested against this default pubsub server. pubsub_server: 'https://pubsubhubbub.appspot.com/' + + # Host/port for running mongodb server. See also mongodb.conf mongo_host: 'localhost' mongo_port: 27017 + + # Setting this to true enables diaspora's "send email" functionality + # requiring meaningful smtp_* settings. These are options for RoR's + # ActionMailer class. mailer_on: false + + # Address/port to smtp server handing outgoing mail. smtp_address: 'smtp.example.com' smtp_port: '587' - smtp_domain: 'mail.example.com' - smtp_authentication: 'plain' - smtp_sender_address: 'no-reply@example.com' - smtp_username: 'no-reply@example.com' - smtp_password: 'secret' + # Domain administered of smtp server. + smtp_domain: 'example.com' + + # Sender address in diaspora's outgoing mail. + smtp_sender_address: 'no-reply@example.com' + + # Authentication required to send mail. One of "plain", + # "login" or "cram-md5" + smtp_authentication: 'plain' + + # Credentails possibly required to log in to SMTP server if + # smtp_authentication != 'plain' + smtp_username: 'smtp_username' + smtp_password: 'secret' development: diff --git a/features/manages_contact_requests.feature b/features/manages_contact_requests.feature new file mode 100644 index 000000000..df7ccef2f --- /dev/null +++ b/features/manages_contact_requests.feature @@ -0,0 +1,22 @@ +Feature: managing contact requests + + Background: + Given I am signed in + And I have one contact request + + Scenario: seeing contact requests + When I am on the home page + Then I should see "Manage (1)" in the header + + @javascript @wip + Scenario: accepting a contact request + Given I have an aspect called "Family" + + When I am on the home page + And I follow "Manage (1)" + Then I should see 1 contact request + And I should see 0 contacts in "Family" + + When I drag the contact request to the "Family" aspect + And I wait for the ajax to finish + Then I should see 1 contact in "Family" diff --git a/features/step_definitions/custom_web_steps.rb b/features/step_definitions/custom_web_steps.rb index c98150d3d..85d39481d 100644 --- a/features/step_definitions/custom_web_steps.rb +++ b/features/step_definitions/custom_web_steps.rb @@ -24,4 +24,9 @@ end When /^I wait for the home page to load$/ do wait_until { current_path == root_path } +end + +When /^I wait for the ajax to finish$/ do + pending + # wait_until { ??? } end \ No newline at end of file diff --git a/features/step_definitions/user_steps.rb b/features/step_definitions/user_steps.rb index e952730d2..10b8fb8b8 100644 --- a/features/step_definitions/user_steps.rb +++ b/features/step_definitions/user_steps.rb @@ -5,4 +5,36 @@ end When /^I click on my name$/ do click_link("#{@me.first_name} #{@me.last_name}") -end \ No newline at end of file +end + +Given /^I have an aspect called "([^"]*)"$/ do |aspect_name| + @me.aspects.create!(:name => aspect_name) + @me.reload +end + +Given /^I have one contact request$/ do + other_user = make_user + other_user.aspects.create!(:name => "meh") + other_user.reload + + other_user.send_contact_request_to(@me.person, other_user.aspects.first) + @me.reload +end + +Then /^I should see (\d+) contact request(?:s)?$/ do |request_count| + number_of_requests = evaluate_script("$('.person.request.ui-draggable').length") + number_of_requests.should == request_count.to_i +end + +Then /^I should see (\d+) contact(?:s)? in "([^"]*)"$/ do |contact_count, aspect_name| + aspect = @me.reload.aspects.find_by_name(aspect_name) + number_of_contacts = evaluate_script("$('li.person.ui-draggable[data-aspect_id=\"#{aspect.id}\"]').length") + number_of_contacts.should == contact_count.to_i +end + +When /^I drag the contact request to the "([^"]*)" aspect$/ do |aspect_name| + aspect = @me.reload.aspects.find_by_name(aspect_name) + aspect_div = find("ul.dropzone[data-aspect_id='#{aspect.id}']") + request_li = find(".person.request.ui-draggable") + request_li.drag_to(aspect_div) +end diff --git a/features/support/env.rb b/features/support/env.rb index f196e1776..369af7011 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -41,3 +41,11 @@ begin DatabaseCleaner.strategy = :truncation DatabaseCleaner.orm = "mongo_mapper" end + +require File.join(File.dirname(__FILE__), "..", "..", "spec", "helper_methods") +include HelperMethods + +Before do + UserFixer.regenerate_user_fixtures + UserFixer.load_user_fixtures +end \ No newline at end of file diff --git a/public/javascripts/aspect-edit.js b/public/javascripts/aspect-edit.js index 452780fa6..7c47396af 100644 --- a/public/javascripts/aspect-edit.js +++ b/public/javascripts/aspect-edit.js @@ -50,7 +50,7 @@ var AspectEdit = { type: "DELETE", url: "/requests/" + person.attr('data-guid'), data: {"accept" : true, "aspect_id" : dropzone.attr('data-aspect_id') }, - success: function() { AspectEdit.onDeleteRequestSuccess(person); } + success: function() { AspectEdit.onDeleteRequestSuccess(person, dropzone); } }); } @@ -70,9 +70,11 @@ var AspectEdit = { dropzone.closest("ul").append(person); }, - onDeleteRequestSuccess: function(person) { + onDeleteRequestSuccess: function(person, dropzone) { AspectEdit.decrementRequestsCounter(); person.removeClass('request'); + person.attr('data-aspect_id', dropzone.attr('data-aspect_id')); + person.removeAttr('data-person_id'); }, onMovePersonSuccess: function(person, dropzone) { diff --git a/spec/controllers/requests_controller_spec.rb b/spec/controllers/requests_controller_spec.rb index 9d6684292..c7ca19a92 100644 --- a/spec/controllers/requests_controller_spec.rb +++ b/spec/controllers/requests_controller_spec.rb @@ -10,7 +10,34 @@ describe RequestsController do @user = make_user sign_in :user, @user - @user.aspects.create(:name => "lame-os") + + @user.aspects.create!(:name => "lame-os") + @user.reload + end + + describe '#destroy' do + before do + @other_user = make_user + @other_user.aspects.create!(:name => "meh") + @other_user.reload + + @other_user.send_contact_request_to(@user.person, @other_user.aspects.first) + + @user.reload # so it can find its pending requests. + @friend_request = @user.pending_requests.first + end + describe 'when accepting a contact request' do + it "succeeds" do + xhr :delete, :destroy, "accept" => "true", "aspect_id" => @user.aspects.first.id.to_s, "id" => @friend_request.id.to_s + response.should redirect_to(aspect_path(@user.aspects.first)) + end + end + describe 'when ignoring a contact request' do + it "succeeds" do + xhr :delete, :destroy, "id" => @friend_request.id.to_s + response.should redirect_to(requests_path) + end + end end describe '#create' do @@ -22,7 +49,7 @@ describe RequestsController do ) response.should redirect_to aspects_manage_path end - + it "flashes and redirects when requesting an invalid identity" do put(:create, { :destination_handle => "not_a_@valid_email", @@ -32,7 +59,7 @@ describe RequestsController do flash[:error].should_not be_blank response.should redirect_to aspects_manage_path end - + it "flashes and redirects when requesting an invalid identity with a port number" do put(:create, { :destination_handle => "johndoe@email.com:3000", @@ -42,7 +69,7 @@ describe RequestsController do flash[:error].should_not be_blank response.should redirect_to aspects_manage_path end - + it "redirects when requesting an identity from an invalid server" do stub_request(:get, /notadiasporaserver\.com/).to_raise(Errno::ETIMEDOUT) put(:create, { @@ -52,7 +79,7 @@ describe RequestsController do ) response.should redirect_to aspects_manage_path end - + it 'should redirect to the page which you called it from ' do pending "This controller should probably redirect to :back" put(:create, { diff --git a/spec/fixtures/users.yaml b/spec/fixtures/users.yaml index b7c016bec..5d6b5ade4 100644 --- a/spec/fixtures/users.yaml +++ b/spec/fixtures/users.yaml @@ -1,948 +1,908 @@ --- :users: -- :user: !map:ActiveSupport::HashWithIndifferentAccess - encrypted_password: $2a$10$yl5042/m1NmG58eXtYKb7uiHUuBYq0xPRm7xK.Xdi/a9ypP0UyNFe +- :person: !map:ActiveSupport::HashWithIndifferentAccess + created_at: 2010-11-15 05:41:26 Z + profile: !map:ActiveSupport::HashWithIndifferentAccess + searchable: true + image_url: + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 237 + gender: + diaspora_handle: + birthday: + last_name: Grimm6636c824 + bio: + first_name: Robert661d698e + updated_at: 2010-11-15 05:41:26 Z + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 238 + url: http://google-6640be67.com/ + serialized_public_key: | + -----BEGIN RSA PUBLIC KEY----- + MIGJAoGBALyeFYuLxcf026PvVbNIZgVK6YGQ6rTPzdmUpC+LTwi4Nbu5pnPK5f4Y + rqwy2DxgeVYEa+5j8/3ugMjPvq3RRJZLCqcZdNoCoduMJDWrg5xsNuidaArpW5Qk + EoePeAZjakz4c7gH3Iw3Kp0byh3SK4Mh2uHHr0WjrF56esQzGUtHAgMBAAE= + -----END RSA PUBLIC KEY----- + + owner_id: &id001 !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 5 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 236 + diaspora_handle: bob65f3c2eb@example.org + :user: !map:ActiveSupport::HashWithIndifferentAccess + encrypted_password: $2a$10$LI/pdUI/E.aHa3WCBLu1LO1XV53nSKZhYHZqiSVonBTHmVc8fiDa2 serialized_private_key: &id002 | -----BEGIN RSA PRIVATE KEY----- - MIICXAIBAAKBgQDFEFYV6qVJwk1qHQio2QLBx5D8qkMnFPTg8hq0X9qk8Ft4A1Fu - bPdk9tpSp+FhtL3PqQiVo/ELzv7/Vg+qD6HnWtUytmpSkVdBsseIabyQcL7rzMpK - Jv8eW8+kSakvgQVJSDIFBf67VGHcm3vXSlh3NbU0V/Od2IRBKKbPaTJU6QIDAQAB - AoGAU+SMgXAPRcNOKaqKkTcxkUVgV/Az/mNRjKIE9F0KO8WHayQeeqAxAe6FK0MF - FA9Z7xnK6cmNSLWqoREGQiO9jH00qQM2lBTJHDQnfTifV21LyU28UIj+46LOUO72 - x5BhiDAq3ncl+wh3THlvvYBKEYkH9V5E3Qv190oGqeG/8LECQQDmlYJHuaeKUr8r - nKe3AbZs2gSJb88LR28L3l7MJiRiYd2j+0XDPrqj6BsxB33dIIU5rA3i272zxziw - TwrcYYpfAkEA2sj5EVwAeghH+dQ14je/81k5+gHJa14DyTCMiNsIaVFimNhALZrz - KQ8EGPkTSbHH5R6iyPmHY6fTb16YZKV1twJBANJIcMpmhmNAOTVVpSHhfvNgFBke - jUv09lF1lzBIbJAIPjAIvENllqJZz0p0UZVyzeydewBzc1pbidhIDViT37MCQADG - RVtyX+4OqXKQ9b/fQqax4iqoZvYiVxEXQugZHmaBC0BPQ6rlqYazrugHubHBF1wQ - R7M+buRDa9QxGYkBrPECQBec55rbSGJRomlHRVhKyAfPewcbCO9wurIuWvkTDlac - Ju0kWn4frTvRJnEgPxHsRlQLBiyAMZsQ5UvWmy6rNxs= + MIICXAIBAAKBgQC8nhWLi8XH9Nuj71WzSGYFSumBkOq0z83ZlKQvi08IuDW7uaZz + yuX+GK6sMtg8YHlWBGvuY/P97oDIz76t0USWSwqnGXTaAqHbjCQ1q4OcbDbonWgK + 6VuUJBKHj3gGY2pM+HO4B9yMNyqdG8od0iuDIdrhx69Fo6xeenrEMxlLRwIDAQAB + AoGActSfc0yOBbVJvt1nxHVwPwqjbJEogxn8TdnTt2pNnJZhiD93WgmNyguG1ClE + QkXNuROKDiFmGxOH7jmj8bh00ypWzy9TWnbUf/PL/g+gSiG0ft0CM+0i93VXlMv9 + AR2U/fOLdEy9Bra+ntwnFQaJ78rAUD5ccbWSBqg/TtSS0NECQQDyUvSIAr92tlLg + ywM3ObyxcznLItQ12Oq6R/dDKnajaMORzGCNqVV6frwYM989ln8+CctXWCi4ZcWh + /Uyp59RPAkEAx0MwVMvcfOZjtCU4aTL54CdrSaFqNvdZcjcp0+KO0N+eBOtkl0Ai + FbAIZEXjBg2HUKDgWI6z1ZwmMwDw2QhDiQJAVg5TvQGM0THKmP4/tBsTAcmz2ooR + 5tWT9necPgQUgc+wtFRqbaSXMJtVXRr+yrZplbSQvAIY4/NwjiiQUz57TQJAbQJv + 1WP1iorLrsjR9JNDqgJGqnBY2Bs3XsmY42bFNLWxEAXq8OfP/cdgv+KP0UbjaROp + yCjBbzHOoAZ6vHDN6QJBALRtEh3jaOulkia82LV6ZzOl6Gsp86Y/D1FWHPKNVNoS + 8f++mBU56ozNy3JnU2gyIJSoy5zn9VdHR8qvhLtV/R8= -----END RSA PRIVATE KEY----- pending_request_ids: [] - invite_messages: !map:ActiveSupport::HashWithIndifferentAccess {} - last_sign_in_ip: invites: 5 - contact_ids: [] - - _id: &id001 !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 37 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 2 + _id: *id001 last_sign_in_at: - username: bob1b1de83 + username: bob65f3c2eb language: en sign_in_count: 0 visible_person_ids: [] - password_salt: $2a$10$yl5042/m1NmG58eXtYKb7u - inviter_ids: [] - + password_salt: $2a$10$LI/pdUI/E.aHa3WCBLu1LO remember_token: reset_password_token: current_sign_in_ip: remember_created_at: current_sign_in_at: invitation_sent_at: - email: bob16accc0@pivotallabs.com + email: bob665b3e89@pivotallabs.com invitation_token: visible_post_ids: [] getting_started: true - :person: !map:ActiveSupport::HashWithIndifferentAccess - created_at: 2010-10-29 22:43:50 Z +- :person: !map:ActiveSupport::HashWithIndifferentAccess + created_at: 2010-11-15 05:41:26 Z profile: !map:ActiveSupport::HashWithIndifferentAccess + searchable: true image_url: _id: !ruby/object:BSON::ObjectId data: - 76 - - 203 - - 78 - - 38 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 3 - gender: - birthday: - last_name: Grimm1c1b679 - bio: - first_name: Robert15cfdfb - updated_at: 2010-10-29 22:43:50 Z - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 38 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 4 - url: http://google-11ed884.com/ - serialized_public_key: | - -----BEGIN RSA PUBLIC KEY----- - MIGJAoGBAMUQVhXqpUnCTWodCKjZAsHHkPyqQycU9ODyGrRf2qTwW3gDUW5s92T2 - 2lKn4WG0vc+pCJWj8QvO/v9WD6oPoeda1TK2alKRV0Gyx4hpvJBwvuvMykom/x5b - z6RJqS+BBUlIMgUF/rtUYdybe9dKWHc1tTRX853YhEEops9pMlTpAgMBAAE= - -----END RSA PUBLIC KEY----- - - owner_id: *id001 - diaspora_handle: bob1b1de83@tom.joindiaspora.co -- :user: !map:ActiveSupport::HashWithIndifferentAccess - encrypted_password: $2a$10$MQH.CJUkEbAA0aMlhs3yVOV0W8obzclj24JLMzlbsLblW58P/2WDu - serialized_private_key: *id002 - pending_request_ids: [] - - invite_messages: !map:ActiveSupport::HashWithIndifferentAccess {} - - last_sign_in_ip: - invites: 5 - contact_ids: [] - - _id: &id003 !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 38 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 5 - last_sign_in_at: - username: bob2271e40 - language: en - sign_in_count: 0 - visible_person_ids: [] - - password_salt: $2a$10$MQH.CJUkEbAA0aMlhs3yVO - inviter_ids: [] - - remember_token: - reset_password_token: - current_sign_in_ip: - remember_created_at: - current_sign_in_at: - invitation_sent_at: - email: bob2573b5a@pivotallabs.com - invitation_token: - visible_post_ids: [] - - getting_started: true - :person: !map:ActiveSupport::HashWithIndifferentAccess - created_at: 2010-10-29 22:43:50 Z - profile: !map:ActiveSupport::HashWithIndifferentAccess - image_url: - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 38 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 + - 224 + - 200 - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 240 gender: + diaspora_handle: birthday: - last_name: Grimm20d70fb + last_name: Grimm6771b344 bio: - first_name: Robert2720656 - updated_at: 2010-10-29 22:43:50 Z + first_name: Robert6710f3e5 + updated_at: 2010-11-15 05:41:26 Z _id: !ruby/object:BSON::ObjectId data: - 76 - - 203 - - 78 - - 38 - - 204 - - 140 - - 180 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 241 + url: http://google-67db2778.com/ + serialized_public_key: | + -----BEGIN RSA PUBLIC KEY----- + MIGJAoGBALyeFYuLxcf026PvVbNIZgVK6YGQ6rTPzdmUpC+LTwi4Nbu5pnPK5f4Y + rqwy2DxgeVYEa+5j8/3ugMjPvq3RRJZLCqcZdNoCoduMJDWrg5xsNuidaArpW5Qk + EoePeAZjakz4c7gH3Iw3Kp0byh3SK4Mh2uHHr0WjrF56esQzGUtHAgMBAAE= + -----END RSA PUBLIC KEY----- + + owner_id: &id003 !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 239 + diaspora_handle: bob66ac6ea2@example.org + :user: !map:ActiveSupport::HashWithIndifferentAccess + encrypted_password: $2a$10$iDAabZ1errQEROqCsUQWuuDKQYzPqIjoFJ92Kg5vHlKFJNCmfJv86 + serialized_private_key: *id002 + pending_request_ids: [] + + last_sign_in_ip: + invites: 5 + _id: *id003 + last_sign_in_at: + username: bob66ac6ea2 + language: en + sign_in_count: 0 + visible_person_ids: [] + + password_salt: $2a$10$iDAabZ1errQEROqCsUQWuu + remember_token: + reset_password_token: + current_sign_in_ip: + remember_created_at: + current_sign_in_at: + invitation_sent_at: + email: bob67836b18@pivotallabs.com + invitation_token: + visible_post_ids: [] + + getting_started: true +- :person: !map:ActiveSupport::HashWithIndifferentAccess + created_at: 2010-11-15 05:41:26 Z + profile: !map:ActiveSupport::HashWithIndifferentAccess + searchable: true + image_url: + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 243 + gender: + diaspora_handle: + birthday: + last_name: Grimm68338cab + bio: + first_name: Robert688c74c6 + updated_at: 2010-11-15 05:41:26 Z + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 244 + url: http://google-68c8c56e.com/ + serialized_public_key: | + -----BEGIN RSA PUBLIC KEY----- + MIGJAoGBALyeFYuLxcf026PvVbNIZgVK6YGQ6rTPzdmUpC+LTwi4Nbu5pnPK5f4Y + rqwy2DxgeVYEa+5j8/3ugMjPvq3RRJZLCqcZdNoCoduMJDWrg5xsNuidaArpW5Qk + EoePeAZjakz4c7gH3Iw3Kp0byh3SK4Mh2uHHr0WjrF56esQzGUtHAgMBAAE= + -----END RSA PUBLIC KEY----- + + owner_id: &id004 !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 242 + diaspora_handle: bob67325b0d@example.org + :user: !map:ActiveSupport::HashWithIndifferentAccess + encrypted_password: $2a$10$qq5OzGMgVhQqebKvxkABNOqL3rR3bNoazye1w5Y1Mo4a85xDxM/qu + serialized_private_key: *id002 + pending_request_ids: [] + + last_sign_in_ip: + invites: 5 + _id: *id004 + last_sign_in_at: + username: bob67325b0d + language: en + sign_in_count: 0 + visible_person_ids: [] + + password_salt: $2a$10$qq5OzGMgVhQqebKvxkABNO + remember_token: + reset_password_token: + current_sign_in_ip: + remember_created_at: + current_sign_in_at: + invitation_sent_at: + email: bob68ce9277@pivotallabs.com + invitation_token: + visible_post_ids: [] + + getting_started: true +- :person: !map:ActiveSupport::HashWithIndifferentAccess + created_at: 2010-11-15 05:41:26 Z + profile: !map:ActiveSupport::HashWithIndifferentAccess + searchable: true + image_url: + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 246 + gender: + diaspora_handle: + birthday: + last_name: Grimm69687805 + bio: + first_name: Robert69e76d9c + updated_at: 2010-11-15 05:41:26 Z + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 247 + url: http://google-691b7ba8.com/ + serialized_public_key: | + -----BEGIN RSA PUBLIC KEY----- + MIGJAoGBALyeFYuLxcf026PvVbNIZgVK6YGQ6rTPzdmUpC+LTwi4Nbu5pnPK5f4Y + rqwy2DxgeVYEa+5j8/3ugMjPvq3RRJZLCqcZdNoCoduMJDWrg5xsNuidaArpW5Qk + EoePeAZjakz4c7gH3Iw3Kp0byh3SK4Mh2uHHr0WjrF56esQzGUtHAgMBAAE= + -----END RSA PUBLIC KEY----- + + owner_id: &id005 !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 245 + diaspora_handle: bob68406c00@example.org + :user: !map:ActiveSupport::HashWithIndifferentAccess + encrypted_password: $2a$10$xjffVd8FCJAawRTn3FE.t.kANNz54w8d1rvCvjkoT5IS1ZsI9wmxa + serialized_private_key: *id002 + pending_request_ids: [] + + last_sign_in_ip: + invites: 5 + _id: *id005 + last_sign_in_at: + username: bob68406c00 + language: en + sign_in_count: 0 + visible_person_ids: [] + + password_salt: $2a$10$xjffVd8FCJAawRTn3FE.t. + remember_token: + reset_password_token: + current_sign_in_ip: + remember_created_at: + current_sign_in_at: + invitation_sent_at: + email: bob69833eca@pivotallabs.com + invitation_token: + visible_post_ids: [] + + getting_started: true +- :person: !map:ActiveSupport::HashWithIndifferentAccess + created_at: 2010-11-15 05:41:26 Z + profile: !map:ActiveSupport::HashWithIndifferentAccess + searchable: true + image_url: + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 249 + gender: + diaspora_handle: + birthday: + last_name: Grimm700c8917 + bio: + first_name: Robert70a53a88 + updated_at: 2010-11-15 05:41:26 Z + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 250 + url: http://google-70785b34.com/ + serialized_public_key: | + -----BEGIN RSA PUBLIC KEY----- + MIGJAoGBALyeFYuLxcf026PvVbNIZgVK6YGQ6rTPzdmUpC+LTwi4Nbu5pnPK5f4Y + rqwy2DxgeVYEa+5j8/3ugMjPvq3RRJZLCqcZdNoCoduMJDWrg5xsNuidaArpW5Qk + EoePeAZjakz4c7gH3Iw3Kp0byh3SK4Mh2uHHr0WjrF56esQzGUtHAgMBAAE= + -----END RSA PUBLIC KEY----- + + owner_id: &id006 !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 248 + diaspora_handle: bob6991ced9@example.org + :user: !map:ActiveSupport::HashWithIndifferentAccess + encrypted_password: $2a$10$eSZ1FwJbg5bBKhXoRTZ6Ie0jmuQsqLnZ0AA2mbaAj.3Zuar1doBuq + serialized_private_key: *id002 + pending_request_ids: [] + + last_sign_in_ip: + invites: 5 + _id: *id006 + last_sign_in_at: + username: bob6991ced9 + language: en + sign_in_count: 0 + visible_person_ids: [] + + password_salt: $2a$10$eSZ1FwJbg5bBKhXoRTZ6Ie + remember_token: + reset_password_token: + current_sign_in_ip: + remember_created_at: + current_sign_in_at: + invitation_sent_at: + email: bob702c4173@pivotallabs.com + invitation_token: + visible_post_ids: [] + + getting_started: true +- :person: !map:ActiveSupport::HashWithIndifferentAccess + created_at: 2010-11-15 05:41:26 Z + profile: !map:ActiveSupport::HashWithIndifferentAccess + searchable: true + image_url: + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 252 + gender: + diaspora_handle: + birthday: + last_name: Grimm7151040b + bio: + first_name: Robert71f8e668 + updated_at: 2010-11-15 05:41:26 Z + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 253 + url: http://google-71c0bddc.com/ + serialized_public_key: | + -----BEGIN RSA PUBLIC KEY----- + MIGJAoGBALyeFYuLxcf026PvVbNIZgVK6YGQ6rTPzdmUpC+LTwi4Nbu5pnPK5f4Y + rqwy2DxgeVYEa+5j8/3ugMjPvq3RRJZLCqcZdNoCoduMJDWrg5xsNuidaArpW5Qk + EoePeAZjakz4c7gH3Iw3Kp0byh3SK4Mh2uHHr0WjrF56esQzGUtHAgMBAAE= + -----END RSA PUBLIC KEY----- + + owner_id: &id007 !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 251 + diaspora_handle: bob706b2562@example.org + :user: !map:ActiveSupport::HashWithIndifferentAccess + encrypted_password: $2a$10$3LSXM5oDBCjm7Bs/bx4TK.B909pIUcsLWo4s7VADEGg3GH3EZVL2S + serialized_private_key: *id002 + pending_request_ids: [] + + last_sign_in_ip: + invites: 5 + _id: *id007 + last_sign_in_at: + username: bob706b2562 + language: en + sign_in_count: 0 + visible_person_ids: [] + + password_salt: $2a$10$3LSXM5oDBCjm7Bs/bx4TK. + remember_token: + reset_password_token: + current_sign_in_ip: + remember_created_at: + current_sign_in_at: + invitation_sent_at: + email: bob71a027dc@pivotallabs.com + invitation_token: + visible_post_ids: [] + + getting_started: true +- :person: !map:ActiveSupport::HashWithIndifferentAccess + created_at: 2010-11-15 05:41:26 Z + profile: !map:ActiveSupport::HashWithIndifferentAccess + searchable: true + image_url: + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 255 + gender: + diaspora_handle: + birthday: + last_name: Grimm7297a30f + bio: + first_name: Robert728f5b14 + updated_at: 2010-11-15 05:41:26 Z + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 1 + - 0 + url: http://google-7226d696.com/ + serialized_public_key: | + -----BEGIN RSA PUBLIC KEY----- + MIGJAoGBALyeFYuLxcf026PvVbNIZgVK6YGQ6rTPzdmUpC+LTwi4Nbu5pnPK5f4Y + rqwy2DxgeVYEa+5j8/3ugMjPvq3RRJZLCqcZdNoCoduMJDWrg5xsNuidaArpW5Qk + EoePeAZjakz4c7gH3Iw3Kp0byh3SK4Mh2uHHr0WjrF56esQzGUtHAgMBAAE= + -----END RSA PUBLIC KEY----- + + owner_id: &id008 !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 0 + - 254 + diaspora_handle: bob71844d77@example.org + :user: !map:ActiveSupport::HashWithIndifferentAccess + encrypted_password: $2a$10$YaRZkC1M7yPyGlY92.1E0uDtbwGOmoHOmbSN1lqQU/YT22nVmWtjC + serialized_private_key: *id002 + pending_request_ids: [] + + last_sign_in_ip: + invites: 5 + _id: *id008 + last_sign_in_at: + username: bob71844d77 + language: en + sign_in_count: 0 + visible_person_ids: [] + + password_salt: $2a$10$YaRZkC1M7yPyGlY92.1E0u + remember_token: + reset_password_token: + current_sign_in_ip: + remember_created_at: + current_sign_in_at: + invitation_sent_at: + email: bob72ad638d@pivotallabs.com + invitation_token: + visible_post_ids: [] + + getting_started: true +- :person: !map:ActiveSupport::HashWithIndifferentAccess + created_at: 2010-11-15 05:41:27 Z + profile: !map:ActiveSupport::HashWithIndifferentAccess + searchable: true + image_url: + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 1 + - 2 + gender: + diaspora_handle: + birthday: + last_name: Grimm738d6448 + bio: + first_name: Robert73400d64 + updated_at: 2010-11-15 05:41:27 Z + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 1 - 3 - - 40 - - 0 + url: http://google-7393c201.com/ + serialized_public_key: | + -----BEGIN RSA PUBLIC KEY----- + MIGJAoGBALyeFYuLxcf026PvVbNIZgVK6YGQ6rTPzdmUpC+LTwi4Nbu5pnPK5f4Y + rqwy2DxgeVYEa+5j8/3ugMjPvq3RRJZLCqcZdNoCoduMJDWrg5xsNuidaArpW5Qk + EoePeAZjakz4c7gH3Iw3Kp0byh3SK4Mh2uHHr0WjrF56esQzGUtHAgMBAAE= + -----END RSA PUBLIC KEY----- + + owner_id: &id009 !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 6 + - 35 + - 103 + - 188 + - 184 + - 81 - 0 + - 1 + - 1 + diaspora_handle: bob721dc5ae@example.org + :user: !map:ActiveSupport::HashWithIndifferentAccess + encrypted_password: $2a$10$mLxEStJ91n/TAQK2o0JHtOj5hGNXuoRUnzUDMn/51K2x65ylT813S + serialized_private_key: *id002 + pending_request_ids: [] + + last_sign_in_ip: + invites: 5 + _id: *id009 + last_sign_in_at: + username: bob721dc5ae + language: en + sign_in_count: 0 + visible_person_ids: [] + + password_salt: $2a$10$mLxEStJ91n/TAQK2o0JHtO + remember_token: + reset_password_token: + current_sign_in_ip: + remember_created_at: + current_sign_in_at: + invitation_sent_at: + email: bob737e94bd@pivotallabs.com + invitation_token: + visible_post_ids: [] + + getting_started: true +- :person: !map:ActiveSupport::HashWithIndifferentAccess + created_at: 2010-11-15 05:41:27 Z + profile: !map:ActiveSupport::HashWithIndifferentAccess + searchable: true + image_url: + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 7 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 1 + - 5 + gender: + diaspora_handle: + birthday: + last_name: Grimm746b8de8 + bio: + first_name: Robert747fd2d3 + updated_at: 2010-11-15 05:41:27 Z + _id: !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 - 7 - url: http://google-2a66ee6.com/ + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 1 + - 6 + url: http://google-746c487f.com/ serialized_public_key: | -----BEGIN RSA PUBLIC KEY----- - MIGJAoGBAMUQVhXqpUnCTWodCKjZAsHHkPyqQycU9ODyGrRf2qTwW3gDUW5s92T2 - 2lKn4WG0vc+pCJWj8QvO/v9WD6oPoeda1TK2alKRV0Gyx4hpvJBwvuvMykom/x5b - z6RJqS+BBUlIMgUF/rtUYdybe9dKWHc1tTRX853YhEEops9pMlTpAgMBAAE= + MIGJAoGBALyeFYuLxcf026PvVbNIZgVK6YGQ6rTPzdmUpC+LTwi4Nbu5pnPK5f4Y + rqwy2DxgeVYEa+5j8/3ugMjPvq3RRJZLCqcZdNoCoduMJDWrg5xsNuidaArpW5Qk + EoePeAZjakz4c7gH3Iw3Kp0byh3SK4Mh2uHHr0WjrF56esQzGUtHAgMBAAE= -----END RSA PUBLIC KEY----- - owner_id: *id003 - diaspora_handle: bob2271e40@tom.joindiaspora.co -- :user: !map:ActiveSupport::HashWithIndifferentAccess - encrypted_password: $2a$10$ngoa90jBWjnsEmd63uM8CehEbGR10eDk5CavVC56K2DFGqospeVPm + owner_id: &id010 !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 7 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 1 + - 4 + diaspora_handle: bob73df386f@example.org + :user: !map:ActiveSupport::HashWithIndifferentAccess + encrypted_password: $2a$10$07OZA4E5oTdLOm66OG4NA.gJN.hW5oPGkNlDSBFTNeOCGJkBdhm0e serialized_private_key: *id002 pending_request_ids: [] - invite_messages: !map:ActiveSupport::HashWithIndifferentAccess {} - last_sign_in_ip: invites: 5 - contact_ids: [] - - _id: &id004 !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 38 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 8 + _id: *id010 last_sign_in_at: - username: bob35b8a98 + username: bob73df386f language: en sign_in_count: 0 visible_person_ids: [] - password_salt: $2a$10$ngoa90jBWjnsEmd63uM8Ce - inviter_ids: [] - + password_salt: $2a$10$07OZA4E5oTdLOm66OG4NA. remember_token: reset_password_token: current_sign_in_ip: remember_created_at: current_sign_in_at: invitation_sent_at: - email: bob312d7a3@pivotallabs.com + email: bob7456fb90@pivotallabs.com invitation_token: visible_post_ids: [] getting_started: true - :person: !map:ActiveSupport::HashWithIndifferentAccess - created_at: 2010-10-29 22:43:50 Z +- :person: !map:ActiveSupport::HashWithIndifferentAccess + created_at: 2010-11-15 05:41:27 Z profile: !map:ActiveSupport::HashWithIndifferentAccess + searchable: true image_url: _id: !ruby/object:BSON::ObjectId data: - 76 - - 203 - - 78 - - 38 - - 204 - - 140 - - 180 - - 3 - - 40 + - 224 + - 200 + - 7 + - 35 + - 103 + - 188 + - 184 + - 81 - 0 - - 0 - - 9 + - 1 + - 8 gender: + diaspora_handle: birthday: - last_name: Grimm309eb5b + last_name: Grimm75cb676d bio: - first_name: Robert3ef0451 - updated_at: 2010-10-29 22:43:50 Z + first_name: Robert755ea0ff + updated_at: 2010-11-15 05:41:27 Z _id: !ruby/object:BSON::ObjectId data: - 76 - - 203 - - 78 - - 38 - - 204 - - 140 - - 180 - - 3 - - 40 + - 224 + - 200 + - 7 + - 35 + - 103 + - 188 + - 184 + - 81 - 0 - - 0 - - 10 - url: http://google-32f8058.com/ + - 1 + - 9 + url: http://google-752dbc95.com/ serialized_public_key: | -----BEGIN RSA PUBLIC KEY----- - MIGJAoGBAMUQVhXqpUnCTWodCKjZAsHHkPyqQycU9ODyGrRf2qTwW3gDUW5s92T2 - 2lKn4WG0vc+pCJWj8QvO/v9WD6oPoeda1TK2alKRV0Gyx4hpvJBwvuvMykom/x5b - z6RJqS+BBUlIMgUF/rtUYdybe9dKWHc1tTRX853YhEEops9pMlTpAgMBAAE= + MIGJAoGBALyeFYuLxcf026PvVbNIZgVK6YGQ6rTPzdmUpC+LTwi4Nbu5pnPK5f4Y + rqwy2DxgeVYEa+5j8/3ugMjPvq3RRJZLCqcZdNoCoduMJDWrg5xsNuidaArpW5Qk + EoePeAZjakz4c7gH3Iw3Kp0byh3SK4Mh2uHHr0WjrF56esQzGUtHAgMBAAE= -----END RSA PUBLIC KEY----- - owner_id: *id004 - diaspora_handle: bob35b8a98@tom.joindiaspora.co -- :user: !map:ActiveSupport::HashWithIndifferentAccess - encrypted_password: $2a$10$PQxJ9RTpc9Uc72hKckPKbeNLKYNmDSUJvwqaziC4a62WA7vUF3ibm + owner_id: &id011 !ruby/object:BSON::ObjectId + data: + - 76 + - 224 + - 200 + - 7 + - 35 + - 103 + - 188 + - 184 + - 81 + - 0 + - 1 + - 7 + diaspora_handle: bob74969a13@example.org + :user: !map:ActiveSupport::HashWithIndifferentAccess + encrypted_password: $2a$10$wfKkOyqv4zvnmb2YF93vTOu7MBL9xZenGhJRr0wYYzngfMDO5pB5G serialized_private_key: *id002 pending_request_ids: [] - invite_messages: !map:ActiveSupport::HashWithIndifferentAccess {} - last_sign_in_ip: invites: 5 - contact_ids: [] - - _id: &id005 !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 38 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 11 + _id: *id011 last_sign_in_at: - username: bob458f3d8 + username: bob74969a13 language: en sign_in_count: 0 visible_person_ids: [] - password_salt: $2a$10$PQxJ9RTpc9Uc72hKckPKbe - inviter_ids: [] - + password_salt: $2a$10$wfKkOyqv4zvnmb2YF93vTO remember_token: reset_password_token: current_sign_in_ip: remember_created_at: current_sign_in_at: invitation_sent_at: - email: bob44fbaa5@pivotallabs.com + email: bob75cb5e31@pivotallabs.com invitation_token: visible_post_ids: [] getting_started: true - :person: !map:ActiveSupport::HashWithIndifferentAccess - created_at: 2010-10-29 22:43:51 Z - profile: !map:ActiveSupport::HashWithIndifferentAccess - image_url: - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 12 - gender: - birthday: - last_name: Grimm4c2f0d0 - bio: - first_name: Robert42453f9 - updated_at: 2010-10-29 22:43:51 Z - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 13 - url: http://google-4e5029d.com/ - serialized_public_key: | - -----BEGIN RSA PUBLIC KEY----- - MIGJAoGBAMUQVhXqpUnCTWodCKjZAsHHkPyqQycU9ODyGrRf2qTwW3gDUW5s92T2 - 2lKn4WG0vc+pCJWj8QvO/v9WD6oPoeda1TK2alKRV0Gyx4hpvJBwvuvMykom/x5b - z6RJqS+BBUlIMgUF/rtUYdybe9dKWHc1tTRX853YhEEops9pMlTpAgMBAAE= - -----END RSA PUBLIC KEY----- - - owner_id: *id005 - diaspora_handle: bob458f3d8@tom.joindiaspora.co -- :user: !map:ActiveSupport::HashWithIndifferentAccess - encrypted_password: $2a$10$XSjtdsL9Yz2GS9By/4hQZeXnXZWPd0uuJtUWeN.VXFtUk/NEkZhOq - serialized_private_key: *id002 - pending_request_ids: [] - - invite_messages: !map:ActiveSupport::HashWithIndifferentAccess {} - - last_sign_in_ip: - invites: 5 - contact_ids: [] - - _id: &id006 !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 14 - last_sign_in_at: - username: bob57d55fd - language: en - sign_in_count: 0 - visible_person_ids: [] - - password_salt: $2a$10$XSjtdsL9Yz2GS9By/4hQZe - inviter_ids: [] - - remember_token: - reset_password_token: - current_sign_in_ip: - remember_created_at: - current_sign_in_at: - invitation_sent_at: - email: bob55c87c3@pivotallabs.com - invitation_token: - visible_post_ids: [] - - getting_started: true - :person: !map:ActiveSupport::HashWithIndifferentAccess - created_at: 2010-10-29 22:43:51 Z - profile: !map:ActiveSupport::HashWithIndifferentAccess - image_url: - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 15 - gender: - birthday: - last_name: Grimm54c2742 - bio: - first_name: Robert5ca48e4 - updated_at: 2010-10-29 22:43:51 Z - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 16 - url: http://google-5ecb435.com/ - serialized_public_key: | - -----BEGIN RSA PUBLIC KEY----- - MIGJAoGBAMUQVhXqpUnCTWodCKjZAsHHkPyqQycU9ODyGrRf2qTwW3gDUW5s92T2 - 2lKn4WG0vc+pCJWj8QvO/v9WD6oPoeda1TK2alKRV0Gyx4hpvJBwvuvMykom/x5b - z6RJqS+BBUlIMgUF/rtUYdybe9dKWHc1tTRX853YhEEops9pMlTpAgMBAAE= - -----END RSA PUBLIC KEY----- - - owner_id: *id006 - diaspora_handle: bob57d55fd@tom.joindiaspora.co -- :user: !map:ActiveSupport::HashWithIndifferentAccess - encrypted_password: $2a$10$GD1Ox5LmmOLOVycvOkuHtu/gwINhkkIVxKAuksw1z/If9HdKOZj4q - serialized_private_key: *id002 - pending_request_ids: [] - - invite_messages: !map:ActiveSupport::HashWithIndifferentAccess {} - - last_sign_in_ip: - invites: 5 - contact_ids: [] - - _id: &id007 !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 17 - last_sign_in_at: - username: bob6e6db8b - language: en - sign_in_count: 0 - visible_person_ids: [] - - password_salt: $2a$10$GD1Ox5LmmOLOVycvOkuHtu - inviter_ids: [] - - remember_token: - reset_password_token: - current_sign_in_ip: - remember_created_at: - current_sign_in_at: - invitation_sent_at: - email: bob6e9568f@pivotallabs.com - invitation_token: - visible_post_ids: [] - - getting_started: true - :person: !map:ActiveSupport::HashWithIndifferentAccess - created_at: 2010-10-29 22:43:51 Z - profile: !map:ActiveSupport::HashWithIndifferentAccess - image_url: - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 18 - gender: - birthday: - last_name: Grimm66fb47f - bio: - first_name: Robert6bf1362 - updated_at: 2010-10-29 22:43:51 Z - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 19 - url: http://google-637c337.com/ - serialized_public_key: | - -----BEGIN RSA PUBLIC KEY----- - MIGJAoGBAMUQVhXqpUnCTWodCKjZAsHHkPyqQycU9ODyGrRf2qTwW3gDUW5s92T2 - 2lKn4WG0vc+pCJWj8QvO/v9WD6oPoeda1TK2alKRV0Gyx4hpvJBwvuvMykom/x5b - z6RJqS+BBUlIMgUF/rtUYdybe9dKWHc1tTRX853YhEEops9pMlTpAgMBAAE= - -----END RSA PUBLIC KEY----- - - owner_id: *id007 - diaspora_handle: bob6e6db8b@tom.joindiaspora.co -- :user: !map:ActiveSupport::HashWithIndifferentAccess - encrypted_password: $2a$10$dBJTo2az.3WVZqyb4vNOkuh/ld3TqKmF/Pn2QnWBvSFueD/lOhr.S - serialized_private_key: *id002 - pending_request_ids: [] - - invite_messages: !map:ActiveSupport::HashWithIndifferentAccess {} - - last_sign_in_ip: - invites: 5 - contact_ids: [] - - _id: &id008 !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 20 - last_sign_in_at: - username: bob72cdc62 - language: en - sign_in_count: 0 - visible_person_ids: [] - - password_salt: $2a$10$dBJTo2az.3WVZqyb4vNOku - inviter_ids: [] - - remember_token: - reset_password_token: - current_sign_in_ip: - remember_created_at: - current_sign_in_at: - invitation_sent_at: - email: bob7ef7e9b@pivotallabs.com - invitation_token: - visible_post_ids: [] - - getting_started: true - :person: !map:ActiveSupport::HashWithIndifferentAccess - created_at: 2010-10-29 22:43:51 Z - profile: !map:ActiveSupport::HashWithIndifferentAccess - image_url: - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 21 - gender: - birthday: - last_name: Grimm772f10b - bio: - first_name: Robert71c70ee - updated_at: 2010-10-29 22:43:51 Z - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 22 - url: http://google-72202b0.com/ - serialized_public_key: | - -----BEGIN RSA PUBLIC KEY----- - MIGJAoGBAMUQVhXqpUnCTWodCKjZAsHHkPyqQycU9ODyGrRf2qTwW3gDUW5s92T2 - 2lKn4WG0vc+pCJWj8QvO/v9WD6oPoeda1TK2alKRV0Gyx4hpvJBwvuvMykom/x5b - z6RJqS+BBUlIMgUF/rtUYdybe9dKWHc1tTRX853YhEEops9pMlTpAgMBAAE= - -----END RSA PUBLIC KEY----- - - owner_id: *id008 - diaspora_handle: bob72cdc62@tom.joindiaspora.co -- :user: !map:ActiveSupport::HashWithIndifferentAccess - encrypted_password: $2a$10$xCE8yLMxbcXRh5gLuALK6.FNVtPEZmFd1RBaDLPeWgjc8qIlpwVhe - serialized_private_key: *id002 - pending_request_ids: [] - - invite_messages: !map:ActiveSupport::HashWithIndifferentAccess {} - - last_sign_in_ip: - invites: 5 - contact_ids: [] - - _id: &id009 !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 23 - last_sign_in_at: - username: bob8678b45 - language: en - sign_in_count: 0 - visible_person_ids: [] - - password_salt: $2a$10$xCE8yLMxbcXRh5gLuALK6. - inviter_ids: [] - - remember_token: - reset_password_token: - current_sign_in_ip: - remember_created_at: - current_sign_in_at: - invitation_sent_at: - email: bob819d189@pivotallabs.com - invitation_token: - visible_post_ids: [] - - getting_started: true - :person: !map:ActiveSupport::HashWithIndifferentAccess - created_at: 2010-10-29 22:43:51 Z - profile: !map:ActiveSupport::HashWithIndifferentAccess - image_url: - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 24 - gender: - birthday: - last_name: Grimm864aeca - bio: - first_name: Robert81ad1c8 - updated_at: 2010-10-29 22:43:51 Z - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 25 - url: http://google-81b2a1e.com/ - serialized_public_key: | - -----BEGIN RSA PUBLIC KEY----- - MIGJAoGBAMUQVhXqpUnCTWodCKjZAsHHkPyqQycU9ODyGrRf2qTwW3gDUW5s92T2 - 2lKn4WG0vc+pCJWj8QvO/v9WD6oPoeda1TK2alKRV0Gyx4hpvJBwvuvMykom/x5b - z6RJqS+BBUlIMgUF/rtUYdybe9dKWHc1tTRX853YhEEops9pMlTpAgMBAAE= - -----END RSA PUBLIC KEY----- - - owner_id: *id009 - diaspora_handle: bob8678b45@tom.joindiaspora.co -- :user: !map:ActiveSupport::HashWithIndifferentAccess - encrypted_password: $2a$10$HtD4sIEWTLkRkFBVqQlhseNUnbDnp0lY6SVe3h0r1mIn5iwZ2YeXe - serialized_private_key: *id002 - pending_request_ids: [] - - invite_messages: !map:ActiveSupport::HashWithIndifferentAccess {} - - last_sign_in_ip: - invites: 5 - contact_ids: [] - - _id: &id010 !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 26 - last_sign_in_at: - username: bob927c7ca - language: en - sign_in_count: 0 - visible_person_ids: [] - - password_salt: $2a$10$HtD4sIEWTLkRkFBVqQlhse - inviter_ids: [] - - remember_token: - reset_password_token: - current_sign_in_ip: - remember_created_at: - current_sign_in_at: - invitation_sent_at: - email: bob97eca7c@pivotallabs.com - invitation_token: - visible_post_ids: [] - - getting_started: true - :person: !map:ActiveSupport::HashWithIndifferentAccess - created_at: 2010-10-29 22:43:51 Z - profile: !map:ActiveSupport::HashWithIndifferentAccess - image_url: - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 27 - gender: - birthday: - last_name: Grimm9a36026 - bio: - first_name: Robert997cd3d - updated_at: 2010-10-29 22:43:51 Z - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 28 - url: http://google-9369b50.com/ - serialized_public_key: | - -----BEGIN RSA PUBLIC KEY----- - MIGJAoGBAMUQVhXqpUnCTWodCKjZAsHHkPyqQycU9ODyGrRf2qTwW3gDUW5s92T2 - 2lKn4WG0vc+pCJWj8QvO/v9WD6oPoeda1TK2alKRV0Gyx4hpvJBwvuvMykom/x5b - z6RJqS+BBUlIMgUF/rtUYdybe9dKWHc1tTRX853YhEEops9pMlTpAgMBAAE= - -----END RSA PUBLIC KEY----- - - owner_id: *id010 - diaspora_handle: bob927c7ca@tom.joindiaspora.co -- :user: !map:ActiveSupport::HashWithIndifferentAccess - encrypted_password: $2a$10$XYFOUzQfR5O68OwTE2wW7eA4I5ScghKIQsRZWLDC.pKXptmm69MUm - serialized_private_key: *id002 - pending_request_ids: [] - - invite_messages: !map:ActiveSupport::HashWithIndifferentAccess {} - - last_sign_in_ip: - invites: 5 - contact_ids: [] - - _id: &id011 !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 39 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 29 - last_sign_in_at: - username: bob10b011c4 - language: en - sign_in_count: 0 - visible_person_ids: [] - - password_salt: $2a$10$XYFOUzQfR5O68OwTE2wW7e - inviter_ids: [] - - remember_token: - reset_password_token: - current_sign_in_ip: - remember_created_at: - current_sign_in_at: - invitation_sent_at: - email: bob1070f7a1@pivotallabs.com - invitation_token: - visible_post_ids: [] - - getting_started: true - :person: !map:ActiveSupport::HashWithIndifferentAccess - created_at: 2010-10-29 22:43:52 Z - profile: !map:ActiveSupport::HashWithIndifferentAccess - image_url: - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 40 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 30 - gender: - birthday: - last_name: Grimm10e7204d - bio: - first_name: Robert103bb226 - updated_at: 2010-10-29 22:43:52 Z - _id: !ruby/object:BSON::ObjectId - data: - - 76 - - 203 - - 78 - - 40 - - 204 - - 140 - - 180 - - 3 - - 40 - - 0 - - 0 - - 31 - url: http://google-10a3985b.com/ - serialized_public_key: | - -----BEGIN RSA PUBLIC KEY----- - MIGJAoGBAMUQVhXqpUnCTWodCKjZAsHHkPyqQycU9ODyGrRf2qTwW3gDUW5s92T2 - 2lKn4WG0vc+pCJWj8QvO/v9WD6oPoeda1TK2alKRV0Gyx4hpvJBwvuvMykom/x5b - z6RJqS+BBUlIMgUF/rtUYdybe9dKWHc1tTRX853YhEEops9pMlTpAgMBAAE= - -----END RSA PUBLIC KEY----- - - owner_id: *id011 - diaspora_handle: bob10b011c4@tom.joindiaspora.co diff --git a/spec/javascripts/aspect-edit-spec.js b/spec/javascripts/aspect-edit-spec.js index f185f17ee..258eeb061 100644 --- a/spec/javascripts/aspect-edit-spec.js +++ b/spec/javascripts/aspect-edit-spec.js @@ -183,14 +183,32 @@ describe("AspectEdit", function() { ); }); it("decrements the request counter", function() { + var person = $('li.person'); + var dropzone = $('.dropzone.ui-droppable[data-aspect_id="guid-of-target-aspect"]'); spyOn(AspectEdit, "decrementRequestsCounter"); - AspectEdit.onDeleteRequestSuccess($('li.person')); + AspectEdit.onDeleteRequestSuccess(person, dropzone); expect(AspectEdit.decrementRequestsCounter).toHaveBeenCalled(); }); it("takes the request class off the person li", function() { - expect($('li.person')).toHaveClass('request'); - AspectEdit.onDeleteRequestSuccess($('li.person')); - expect($('li.person')).not.toHaveClass('request'); + var person = $('li.person'); + var dropzone = $('.dropzone.ui-droppable[data-aspect_id="guid-of-target-aspect"]'); + expect(person).toHaveClass('request'); + AspectEdit.onDeleteRequestSuccess(person, dropzone); + expect(person).not.toHaveClass('request'); + }); + it("removes data-person_id from the li", function() { + var person = $('li.person'); + var dropzone = $('.dropzone.ui-droppable[data-aspect_id="guid-of-target-aspect"]'); + expect(person.attr("data-person_id")).toBeDefined(); + AspectEdit.onDeleteRequestSuccess(person, dropzone); + expect(person.attr("data-person_id")).not.toBeDefined(); + }); + it("puts a data-aspect_id on the li", function() { + var person = $('li.person'); + var dropzone = $('.dropzone.ui-droppable[data-aspect_id="guid-of-target-aspect"]'); + expect(person.attr("data-aspect_id")).not.toBeDefined(); + AspectEdit.onDeleteRequestSuccess(person, dropzone); + expect(person.attr("data-aspect_id")).toEqual("guid-of-target-aspect"); }); }); diff --git a/spec/models/person_spec.rb b/spec/models/person_spec.rb index 8d43e1def..d7aa61fb9 100644 --- a/spec/models/person_spec.rb +++ b/spec/models/person_spec.rb @@ -29,7 +29,7 @@ describe Person do describe "vaild url" do it 'should allow for https urls' do person = Factory.create(:person, :url => "https://example.com") - person.valid?.should == true + person.should be_valid end end @@ -51,12 +51,12 @@ describe Person do describe 'validation' do it 'is unique' do person_two = Factory.build(:person, :diaspora_handle => @person.diaspora_handle) - person_two.valid?.should be_false + person_two.should_not be_valid end it 'is case insensitive' do - person_two = Factory.build(:person, :url => @person.url.upcase) - person_two.valid?.should be_false + person_two = Factory.build(:person, :diaspora_handle => @person.diaspora_handle.upcase) + person_two.should_not be_valid end end end