summaryrefslogtreecommitdiff
path: root/users/test/integration/api
diff options
context:
space:
mode:
authorjessib <jessib@leap.se>2013-01-31 13:09:00 -0800
committerjessib <jessib@leap.se>2013-01-31 13:09:00 -0800
commit2d330838cf5a763d8de2bea752b4e37cf2caa249 (patch)
tree02afa03707a381b4e358fb26fcf0acafd53715ef /users/test/integration/api
parentafd5697f17a90654b6c058611896e3542a601ef5 (diff)
Remove public key if the key is passed as nil, but not otherwise.
There was a weird case with reloading the user in the test if the public key had been unset.
Diffstat (limited to 'users/test/integration/api')
-rw-r--r--users/test/integration/api/account_flow_test.rb20
1 files changed, 12 insertions, 8 deletions
diff --git a/users/test/integration/api/account_flow_test.rb b/users/test/integration/api/account_flow_test.rb
index 653f7d9..4937814 100644
--- a/users/test/integration/api/account_flow_test.rb
+++ b/users/test/integration/api/account_flow_test.rb
@@ -94,17 +94,21 @@ class AccountFlowTest < ActiveSupport::TestCase
test "update user" do
server_auth = @srp.authenticate(self)
test_public_key = 'asdlfkjslfdkjasd'
- put "http://api.lvh.me:3000/1/users/" + @user.id + '.json', :user => {:public_key => test_public_key}, :format => :json
- @user.reload
- assert_equal test_public_key, @user.public_key
- end
-
- test "cannot update login via api" do
- server_auth = @srp.authenticate(self)
original_login = @user.login
- put "http://api.lvh.me:3000/1/users/" + @user.id + '.json', :user => {:login => 'failed_login_name'}, :format => :json
+ put "http://api.lvh.me:3000/1/users/" + @user.id + '.json', :user => {:public_key => test_public_key, :login => 'failed_login_name'}, :format => :json
@user.reload
+ assert_equal test_public_key, @user.public_key
assert_equal original_login, @user.login
+ # eventually probably want to remove most of this into a non-integration functional test
+ # should not overwrite public key:
+ put "http://api.lvh.me:3000/1/users/" + @user.id + '.json', :user => {:blee => :blah}, :format => :json
+ @user.reload
+ assert_equal test_public_key, @user.public_key
+ # should overwrite public key:
+ put "http://api.lvh.me:3000/1/users/" + @user.id + '.json', :user => {:public_key => nil}, :format => :json
+ # TODO: not sure why i need this, but when public key is removed, the DB is updated but @user.reload doesn't seem to actually reload.
+ @user = User.find(@user.id) # @user.reload
+ assert_nil @user.public_key
end
end