This way, we're getting text as the user would see it. See: jnicklas/capybara#1341
Extract password reset logic in PasswordService class.
I also noticed that capy 2.1.0 is not compatible with 1.9.2 so rolling back to 2.0.3
…o capybara 2.1.0 Focused within to p within the #content div Focused within for message test from acceptance/alps/message-search
According to ALPS, the following rels are used on <a> tags: messages-me: Applied to an A tag. A reference to a list representation of all the messages posted by the designated user. users-friends: Applied to an A tag. A reference to list representation of the designated user's friend users. users-followers: Applied to an A tag. A reference to list representation of the users who follow the designated user.
Speed benchmarks: ``` $ rake test:file[test/services/subscriber_to_feed_data_converter_test.rb] 6 tests, 1 assertions, 1 failures, 5 errors, 0 skips ``` ``` $ rake test:file[test/services/subscriber_to_feed_data_converter_test.rb] Finished tests in 0.005167s, 1161.2156 tests/s, 2128.8953 assertions/s. ``` Fair enough.
This removes the overhead imprint. Tests run at quick speed: $ rake test:file[test/services/feed_service_test.rb] test/services/feed_service_test.rb Rack::File headers parameter replaces cache_control after Rack 1.5. Run options: --seed 41627 ..... Finished tests in 0.015902s, 314.4225 tests/s, 377.3070 assertions/s.
…t a valid current user.
…; name tests consistently
…need to use a VCR cassette in tests of unsuccessful profile updates
…profile edit Reuse the errors partial from the signup process; make the message more general.
The old name made its destructive behavior unclear and its mutation. This now has the common update_ prefix and a bang to indicate this. It is far more instructive than edit_user_profile since edit is an action and what is that?! It's update everywhere else! Who wrote this, an alien? :D :D :D
This functionality affects the User controller and model and view. In the model, I have replaced the behavior of the edit_user_profile badness to just add freaking errors to self whenever something is invalid instead of reporting a string since those errors contain consistent error messages anyway. It does not return. I will reflect this in another commit by changing the name to something more appropriate. Which means in the model, I have added messages to validations that for some reason did not have one before. We should put those strings all in one place eventually for sanity. In the controller, I updated the, um, update action to look for errors like a normal controller action would and respond naturally. Some wonkiness occurs. This wonkiness is a result of trying to change the field that the current url is built from. Therefore, let's use the canonical user, current_user, whenever possible. When redirecting, we have changed the canonical user, therefore use @user to generate urls. That wonkiness is in the view. Here, @user is the current image of the user and current_user is the true user (or preimage, I guess.) So, using current_user where (honestly, you would expect current_user anyway) you want to use the stable values and @user when you want the changed fields is what I've done. Tests: Updates tests to reflect changes in error messages. Adds four acceptance tests to edit_profile_test: * it updates your username (check that a username can simply be changed) * it does not update your username if the chosen username exists (make sure that you cannot steal somebody else's name) * it redirects to your new name when you change your username (the redirect should take you to your profile, which has a different url now) * it does not allow you to change your username to something invalid (do not allow special characters in your name) Adds one unit test: * username can be changed (checks that the edit_user_profile method, which will become update_profile! actually updates the username with the given parameter)