Guest User

Untitled

a guest
Oct 22nd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. require 'test_helper'
  2.  
  3. class AccountsTest < ActionDispatch::IntegrationTest
  4.  
  5. DEFAULT_HEAD = { "CONTENT_TYPE" => "application/json", "ACCEPTS" => "application/json" }
  6.  
  7. def valid_account
  8. { account: FactoryGirl.attributes_for(:account) }
  9. end
  10.  
  11. def head(options = {})
  12. DEFAULT_HEAD.merge options
  13. end
  14.  
  15. def head_with_access_key(options = {}, access_key)
  16. head options.merge! "AUTHORIZATION" => "Token token=#{access_key}"
  17. end
  18.  
  19. def body(hash = {})
  20. hash.to_json
  21. end
  22.  
  23. test "POST /accounts returns status created" do
  24. post api_v1_accounts_path, body(valid_account), head
  25. expected = 201
  26. actual = response.status
  27. assert_equal expected, actual
  28. end
  29.  
  30. test "POST /accounts returns account id" do
  31. post api_v1_accounts_path, body(valid_account), head
  32. account = Account.first
  33. expected = account.id
  34. actual = Oj.load(response.body)["account"]["id"]
  35. assert_equal(expected, actual)
  36. end
  37.  
  38.  
  39. test "POST /accounts returns account access key" do
  40. post api_v1_accounts_path, body(valid_account), head
  41. account = Account.first
  42. expected = account.access_key
  43. actual = Oj.load(response.body)["account"]["access_key"]
  44. assert_equal(expected, actual)
  45. end
  46.  
  47. test "GET /accounts/:id returns status ok" do
  48. account = FactoryGirl.create :account
  49. get api_v1_account_path(account), nil, head_with_access_key(account.access_key)
  50. expected = 200
  51. actual = response.status
  52. assert_equal(expected, actual)
  53. end
  54.  
  55. test "GET /accounts/:id returns account email" do
  56. account = FactoryGirl.create :account
  57. get api_v1_account_path(account), nil, head_with_access_key(account.access_key)
  58. expected = account.email
  59. actual = Oj.load(response.body)["account"]["email"]
  60. assert_equal(expected, actual)
  61. end
  62.  
  63. test "GET /accounts/:id returns account name" do
  64. account = FactoryGirl.create :account
  65. get api_v1_account_path(account), nil, head_with_access_key(account.access_key)
  66. expected = account.name
  67. actual = Oj.load(response.body)["account"]["name"]
  68. assert_equal(expected, actual)
  69. end
  70. end
Add Comment
Please, Sign In to add comment