diff options
author | Azul <azul@leap.se> | 2013-01-23 13:13:41 +0100 |
---|---|---|
committer | Azul <azul@leap.se> | 2013-01-23 13:13:41 +0100 |
commit | 30f406de954bac1da5fef7cdd753c0af16f11051 (patch) | |
tree | d22dab24afa09e3949d0babcaa2d773ee03c1827 /users/test | |
parent | b530279a144ad5fb35070952898c8e6ae3ba68ea (diff) |
added unit tests for user presenter
changed the way the presenter works. Will need functional testing
Diffstat (limited to 'users/test')
-rw-r--r-- | users/test/unit/webfinger/.user_presenter_test.rb.swp | bin | 0 -> 12288 bytes | |||
-rw-r--r-- | users/test/unit/webfinger/user_presenter_test.rb | 49 |
2 files changed, 49 insertions, 0 deletions
diff --git a/users/test/unit/webfinger/.user_presenter_test.rb.swp b/users/test/unit/webfinger/.user_presenter_test.rb.swp Binary files differnew file mode 100644 index 0000000..5b92867 --- /dev/null +++ b/users/test/unit/webfinger/.user_presenter_test.rb.swp diff --git a/users/test/unit/webfinger/user_presenter_test.rb b/users/test/unit/webfinger/user_presenter_test.rb new file mode 100644 index 0000000..7f7a0d4 --- /dev/null +++ b/users/test/unit/webfinger/user_presenter_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' +require 'webfinger' +require 'json' + +class Webfinger::UserPresenterTest < ActiveSupport::TestCase + + + setup do + @user = stub( + username: 'testuser', + email_address: "testuser@#{APP_CONFIG[:domain]}" + ) + @request = stub( + host: APP_CONFIG[:domain] + ) + end + + test "user without key has no links" do + @user.stubs :public_key => nil + presenter = Webfinger::UserPresenter.new(@user, @request) + assert_equal Hash.new, presenter.links + end + + test "user with key has corresponding link" do + @user.stubs :public_key => "here's a key" + presenter = Webfinger::UserPresenter.new(@user, @request) + assert_equal [:public_key], presenter.links.keys + assert_equal "PGP", presenter.links[:public_key][:type] + assert_equal presenter.send(:key), presenter.links[:public_key][:href] + end + + test "key is base64 encoded" do + @user.stubs :public_key => "here's a key" + presenter = Webfinger::UserPresenter.new(@user, @request) + assert_equal Base64.encode64(@user.public_key), presenter.send(:key) + end + + test "creates proper json representation" do + @user.stubs :public_key => "here's a key" + presenter = Webfinger::UserPresenter.new(@user, @request) + hash = JSON.parse presenter.to_json + assert_equal ["subject", "links", "aliases"].sort, hash.keys.sort + hash.each do |key, value| + assert_equal presenter.send(key.to_sym).to_json, value.to_json + end + end + + +end |