ruby-trello 2.0.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +106 -17
  3. data/lib/trello.rb +47 -34
  4. data/lib/trello/action.rb +10 -8
  5. data/lib/trello/association_builder/has_many.rb +17 -0
  6. data/lib/trello/association_builder/has_one.rb +16 -0
  7. data/lib/trello/association_fetcher/has_many.rb +26 -0
  8. data/lib/trello/association_fetcher/has_many/fetch.rb +47 -0
  9. data/lib/trello/association_fetcher/has_many/params.rb +56 -0
  10. data/lib/trello/association_fetcher/has_one.rb +25 -0
  11. data/lib/trello/association_fetcher/has_one/fetch.rb +49 -0
  12. data/lib/trello/association_fetcher/has_one/params.rb +36 -0
  13. data/lib/trello/association_infer_tool.rb +13 -0
  14. data/lib/trello/association_proxy.rb +1 -1
  15. data/lib/trello/attachment.rb +13 -10
  16. data/lib/trello/basic_data.rb +16 -49
  17. data/lib/trello/board.rb +17 -3
  18. data/lib/trello/card.rb +103 -38
  19. data/lib/trello/checklist.rb +14 -13
  20. data/lib/trello/client.rb +1 -1
  21. data/lib/trello/comment.rb +4 -4
  22. data/lib/trello/custom_field.rb +131 -0
  23. data/lib/trello/custom_field_item.rb +98 -0
  24. data/lib/trello/custom_field_option.rb +22 -0
  25. data/lib/trello/error.rb +12 -0
  26. data/lib/trello/item.rb +7 -7
  27. data/lib/trello/item_state.rb +3 -3
  28. data/lib/trello/label.rb +30 -12
  29. data/lib/trello/label_name.rb +10 -10
  30. data/lib/trello/list.rb +6 -6
  31. data/lib/trello/member.rb +10 -9
  32. data/lib/trello/notification.rb +6 -6
  33. data/lib/trello/organization.rb +11 -11
  34. data/lib/trello/plugin_datum.rb +6 -6
  35. data/lib/trello/register_attributes.rb +54 -0
  36. data/lib/trello/token.rb +6 -5
  37. data/lib/trello/webhook.rb +5 -5
  38. data/spec/action_spec.rb +22 -1
  39. data/spec/basic_data_spec.rb +58 -0
  40. data/spec/board_spec.rb +28 -2
  41. data/spec/card_spec.rb +183 -8
  42. data/spec/cassettes/can_add_a_file_from_url_on_a_card.yml +189 -0
  43. data/spec/cassettes/can_add_a_file_on_a_card.yml +200 -0
  44. data/spec/cassettes/can_add_a_member_to_a_card.yml +190 -0
  45. data/spec/cassettes/can_add_label_on_a_card.yml +281 -0
  46. data/spec/cassettes/can_close_bong_a_card.yml +189 -0
  47. data/spec/cassettes/can_get_actions.yml +196 -0
  48. data/spec/cassettes/can_get_attachments.yml +187 -0
  49. data/spec/cassettes/can_get_comments.yml +193 -0
  50. data/spec/cassettes/can_move_a_card_to_another_board_with_specific_list.yml +373 -0
  51. data/spec/cassettes/can_move_a_card_to_another_board_without_specific_list.yml +281 -0
  52. data/spec/cassettes/can_move_a_card_to_another_list.yml +281 -0
  53. data/spec/cassettes/can_remove_a_member_from_a_card.yml +185 -0
  54. data/spec/cassettes/can_remove_an_attachment_on_a_card.yml +277 -0
  55. data/spec/cassettes/can_remove_an_upvote_on_a_card.yml +465 -0
  56. data/spec/cassettes/can_remove_label_on_a_card.yml +279 -0
  57. data/spec/cassettes/can_success_add_comment_to_a_card.yml +196 -0
  58. data/spec/cassettes/can_success_copy_checklist_to_a_card.yml +281 -0
  59. data/spec/cassettes/can_success_copy_checklist_to_a_card_without_name_pos.yml +281 -0
  60. data/spec/cassettes/can_success_create_a_card.yml +99 -0
  61. data/spec/cassettes/can_success_create_new_checklist_to_a_card.yml +189 -0
  62. data/spec/cassettes/can_success_delete_card.yml +185 -0
  63. data/spec/cassettes/can_success_upate_a_card.yml +189 -0
  64. data/spec/cassettes/can_success_update_bong_a_board.yml +283 -0
  65. data/spec/cassettes/can_success_update_bong_a_card.yml +191 -0
  66. data/spec/cassettes/can_upvote_on_a_card.yml +469 -0
  67. data/spec/cassettes/card_find_with_id_and_get_all_fields.yml +95 -0
  68. data/spec/cassettes/card_find_with_id_and_get_specific_fields.yml +96 -0
  69. data/spec/cassettes/custom_field_item_save_1.yml +97 -0
  70. data/spec/cassettes/custom_field_item_save_2.yml +281 -0
  71. data/spec/cassettes/get_board_of_card.yml +187 -0
  72. data/spec/cassettes/get_check_item_states_of_card.yml +188 -0
  73. data/spec/cassettes/get_checklists_of_card.yml +187 -0
  74. data/spec/cassettes/get_cover_image_of_card.yml +187 -0
  75. data/spec/cassettes/get_custom_field_items_of_card.yml +187 -0
  76. data/spec/cassettes/get_list_of_card.yml +188 -0
  77. data/spec/cassettes/get_lists.yml +187 -0
  78. data/spec/cassettes/get_members_of_card.yml +189 -0
  79. data/spec/cassettes/get_plugin_data_of_card.yml +187 -0
  80. data/spec/cassettes/get_voters_of_card.yml +188 -0
  81. data/spec/cassettes/remove_upvote_on_a_card_when_have_not_voted.yml +366 -0
  82. data/spec/cassettes/revote_on_a_card.yml +464 -0
  83. data/spec/checklist_spec.rb +39 -3
  84. data/spec/client_spec.rb +5 -1
  85. data/spec/custom_field_item_spec.rb +192 -0
  86. data/spec/custom_field_option_spec.rb +49 -0
  87. data/spec/custom_field_spec.rb +261 -0
  88. data/spec/integration/basic_data/many_spec.rb +123 -0
  89. data/spec/integration/basic_data/one_spec.rb +84 -0
  90. data/spec/integration/basic_data/register_attributes_spec.rb +75 -0
  91. data/spec/integration/board/update!_spec.rb +31 -0
  92. data/spec/integration/board_lists_spec.rb +21 -0
  93. data/spec/integration/card/add_and_remove_attachment_spec.rb +45 -0
  94. data/spec/integration/card/add_and_remove_label_spec.rb +35 -0
  95. data/spec/integration/card/add_checklist_spec.rb +32 -0
  96. data/spec/integration/card/add_comment_spec.rb +19 -0
  97. data/spec/integration/card/add_memeber_spec.rb +19 -0
  98. data/spec/integration/card/associations/actions_spec.rb +17 -0
  99. data/spec/integration/card/associations/attachments_spec.rb +18 -0
  100. data/spec/integration/card/associations/board_spec.rb +17 -0
  101. data/spec/integration/card/associations/check_item_states_spec.rb +17 -0
  102. data/spec/integration/card/associations/checklists_spec.rb +18 -0
  103. data/spec/integration/card/associations/comments_spec.rb +19 -0
  104. data/spec/integration/card/associations/cover_image_spec.rb +18 -0
  105. data/spec/integration/card/associations/custom_field_items_spec.rb +18 -0
  106. data/spec/integration/card/associations/list_spec.rb +16 -0
  107. data/spec/integration/card/associations/members_spec.rb +18 -0
  108. data/spec/integration/card/associations/plugin_data_spec.rb +18 -0
  109. data/spec/integration/card/associations/voters_spec.rb +17 -0
  110. data/spec/integration/card/close!_spec.rb +16 -0
  111. data/spec/integration/card/create_new_check_list_spec.rb +19 -0
  112. data/spec/integration/card/create_spec.rb +50 -0
  113. data/spec/integration/card/delete_spec.rb +16 -0
  114. data/spec/integration/card/find_spec.rb +67 -0
  115. data/spec/integration/card/move_to_board_spec.rb +36 -0
  116. data/spec/integration/card/move_to_list_spec.rb +20 -0
  117. data/spec/integration/card/remove_member_spec.rb +19 -0
  118. data/spec/integration/card/save_spec.rb +61 -0
  119. data/spec/integration/card/update!_spec.rb +53 -0
  120. data/spec/integration/card/vote_spec.rb +50 -0
  121. data/spec/integration/custom_field_item_spec.rb +47 -0
  122. data/spec/item_spec.rb +20 -0
  123. data/spec/label_spec.rb +99 -0
  124. data/spec/list_spec.rb +21 -0
  125. data/spec/member_spec.rb +23 -0
  126. data/spec/notification_spec.rb +21 -0
  127. data/spec/organization_spec.rb +26 -0
  128. data/spec/spec_helper.rb +96 -23
  129. data/spec/token_spec.rb +19 -0
  130. data/spec/unit/trello/association_builder/has_many_spec.rb +36 -0
  131. data/spec/unit/trello/association_builder/has_one_spec.rb +36 -0
  132. data/spec/unit/trello/association_fetcher/has_many/fetch_spec.rb +38 -0
  133. data/spec/unit/trello/association_fetcher/has_many/params_spec.rb +107 -0
  134. data/spec/unit/trello/association_fetcher/has_many_spec.rb +50 -0
  135. data/spec/unit/trello/association_fetcher/has_one/fetch_spec.rb +51 -0
  136. data/spec/unit/trello/association_fetcher/has_one/params_spec.rb +81 -0
  137. data/spec/unit/trello/association_fetcher/has_one_spec.rb +49 -0
  138. data/spec/unit/trello/association_infer_tool_spec.rb +41 -0
  139. data/spec/unit/trello/basic_data_spec.rb +54 -0
  140. data/spec/unit/trello/card_spec.rb +103 -0
  141. data/spec/webhook_spec.rb +20 -0
  142. metadata +224 -30
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trell::Card#add_comment' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can add a comment to a card' do
9
+ VCR.use_cassette('can_success_add_comment_to_a_card') do
10
+ card = Trello::Card.find('5e93ba665c58c44a46cb2ef9')
11
+ response = card.add_comment('Hello, world!')
12
+
13
+ expect(response.code).to eq(200)
14
+ body = JSON.parse(response.body)
15
+ expect(body['type']).to eq('commentCard')
16
+ expect(body['data']['text']).to eq('Hello, world!')
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#add_member' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can add a member to a card' do
9
+ VCR.use_cassette('can_add_a_member_to_a_card') do
10
+ member = Trello::Member.new('id' => '5e679b808e6e8828784b30e1')
11
+ card = Trello::Card.find('5e95d1b4f43f9a06497f17f7')
12
+ response = card.add_member(member)
13
+
14
+ expect(response.code).to eq(200)
15
+ body = JSON.parse(response.body)
16
+ expect(body.first['id']).to eq('5e679b808e6e8828784b30e1')
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#actions' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get actions' do
9
+ VCR.use_cassette('can_get_actions') do
10
+ card = Trello::Card.find('5e93ba665c58c44a46cb2ef9')
11
+ actions = card.actions
12
+ expect(actions.count).to be > 0
13
+ expect(actions[0]).to be_a(Trello::Action)
14
+ end
15
+ end
16
+
17
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#attachments' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get attachments' do
9
+ VCR.use_cassette('can_get_attachments') do
10
+ card = Trello::Card.find('5e95d1b4f43f9a06497f17f7')
11
+
12
+ attachments = card.attachments
13
+ expect(attachments).to be_a(Array)
14
+ expect(attachments[0]).to be_a(Trello::Attachment)
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#board' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get board' do
9
+ VCR.use_cassette('get_board_of_card') do
10
+ card = Trello::Card.find('5e93ba665c58c44a46cb2ef9')
11
+ board = card.board
12
+ expect(board).to be_a(Trello::Board)
13
+ expect(board.id).to eq(card.board_id)
14
+ end
15
+ end
16
+
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#check_item_states' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get check_item_states' do
9
+ VCR.use_cassette('get_check_item_states_of_card') do
10
+ card = Trello::Card.find('5e946acb3cc40322434c214e')
11
+ check_item_states = card.check_item_states
12
+ expect(check_item_states.count).to be > 0
13
+ expect(check_item_states[0]).to be_a(Trello::CheckItemState)
14
+ end
15
+ end
16
+
17
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#checklists' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get checklists' do
9
+ VCR.use_cassette('get_checklists_of_card') do
10
+ card = Trello::Card.find('5e946acb3cc40322434c214e')
11
+ checklists = card.checklists
12
+ expect(checklists.count).to be > 0
13
+ expect(checklists[0]).to be_a(Trello::Checklist)
14
+ expect(checklists[0].card_id).to eq(card.id)
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#comments' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get comments' do
9
+ VCR.use_cassette('can_get_comments') do
10
+ card = Trello::Card.find('5e93ba665c58c44a46cb2ef9')
11
+
12
+ comments = card.comments
13
+ expect(comments).to be_a(Array)
14
+ expect(comments[0]).to be_a(Trello::Comment)
15
+ end
16
+ end
17
+
18
+ end
19
+
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#cover_image' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get cover_image' do
9
+ VCR.use_cassette('get_cover_image_of_card') do
10
+ card = Trello::Card.find('5e946acb3cc40322434c214e')
11
+ cover_image = card.cover_image
12
+ expect(cover_image).to be_a(Trello::CoverImage)
13
+ expect(cover_image.id).not_to be_nil
14
+ expect(cover_image.name).not_to be_nil
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#custom_field_items' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get custom_field_items' do
9
+ VCR.use_cassette('get_custom_field_items_of_card') do
10
+ card = Trello::Card.find('5e94ee7df8784d61ee48319e')
11
+ custom_field_items = card.custom_field_items
12
+ expect(custom_field_items.count).to be > 0
13
+ expect(custom_field_items[0]).to be_a(Trello::CustomFieldItem)
14
+ expect(custom_field_items[0].model_id).to eq(card.id)
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#list' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get list' do
9
+ VCR.use_cassette('get_list_of_card') do
10
+ card = Trello::Card.find('5e946acb3cc40322434c214e')
11
+ list = card.list
12
+ expect(list.id).to eq(card.list_id)
13
+ end
14
+ end
15
+
16
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#members' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get members' do
9
+ VCR.use_cassette('get_members_of_card') do
10
+ card = Trello::Card.find('5e946acb3cc40322434c214e')
11
+ members = card.members
12
+ expect(members.count).to be > 0
13
+ expect(members[0]).to be_a(Trello::Member)
14
+ expect(members[0].id).to be_in(card.member_ids)
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#plugin_data' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get plugin_data' do
9
+ VCR.use_cassette('get_plugin_data_of_card') do
10
+ card = Trello::Card.find('5e94eb036ad95f19112bd187')
11
+ plugin_data = card.plugin_data
12
+ expect(plugin_data.count).to be > 0
13
+ expect(plugin_data[0]).to be_a(Trello::PluginDatum)
14
+ expect(plugin_data[0].idModel).to eq(card.id)
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#voters' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can get voters' do
9
+ VCR.use_cassette('get_voters_of_card') do
10
+ card = Trello::Card.find('5e94f5e837592f1a80a2059c')
11
+ voters = card.voters
12
+ expect(voters.count).to be > 0
13
+ expect(voters[0]).to be_a(Trello::Member)
14
+ end
15
+ end
16
+
17
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trell::Card#close!' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can close! a card' do
9
+ VCR.use_cassette('can_close_bong_a_card') do
10
+ card = Trello::Card.find('5e95bab4e5c5a66526f74278')
11
+ card.close!
12
+ expect(card.closed).to eq(true)
13
+ end
14
+ end
15
+
16
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trell::Card#create_new_checklist' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can create a checllist to a card' do
9
+ VCR.use_cassette('can_success_create_new_checklist_to_a_card') do
10
+ card = Trello::Card.find('5e93ba665c58c44a46cb2ef9')
11
+ response = card.create_new_checklist('ToDo')
12
+
13
+ expect(response.code).to eq(200)
14
+ body = JSON.parse(response.body)
15
+ expect(body['name']).to eq('ToDo')
16
+ expect(body['idCard']).to eq(card.id)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trell::Card.create' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can success create the card' do
9
+ VCR.use_cassette('can_success_create_a_card') do
10
+ card = Trello::Card.create(
11
+ name: 'Test Trello::Card.create',
12
+ list_id: '5e93bac014d40e501ee46b8d',
13
+ desc: 'testing card create',
14
+ member_ids: '5e679b808e6e8828784b30e1',
15
+ card_labels: '5e93ba987669b2254983d69d,5e93ba987669b2254983d69e',
16
+ due: '2020-12-22T01:59:00.000Z',
17
+ due_complete: false,
18
+ pos: 'top',
19
+ source_card_id: '5e93ba665c58c44a46cb2ef9',
20
+ source_card_properties: 'comments'
21
+ )
22
+ expect(card).to be_a(Trello::Card)
23
+
24
+ expect(card.name).to eq('Test Trello::Card.create')
25
+ expect(card.list_id).to eq('5e93bac014d40e501ee46b8d')
26
+ expect(card.desc).to eq('testing card create')
27
+ expect(card.member_ids).to eq(['5e679b808e6e8828784b30e1'])
28
+ expect(card.labels.count).to eq(2)
29
+ expect(card.due).to eq(Time.new(2020, 12, 22, 1, 59, 0, '+00:00'))
30
+ expect(card.due_complete).to eq(false)
31
+ expect(card.pos).not_to be_nil
32
+ expect(card.source_card_id).to eq('5e93ba665c58c44a46cb2ef9')
33
+ expect(card.source_card_properties).to eq('comments')
34
+
35
+ expect(card.id).not_to be_nil
36
+ expect(card.short_id).not_to be_nil
37
+ expect(card.closed).not_to be_nil
38
+ expect(card.url).not_to be_nil
39
+ expect(card.short_url).not_to be_nil
40
+ expect(card.board_id).not_to be_nil
41
+ expect(card.last_activity_date).not_to be_nil
42
+ expect(card.card_labels).not_to be_nil
43
+ expect(card.badges).not_to be_nil
44
+ expect(card.card_members).to be_nil # default not return members
45
+ expect(card.cover_image_id).to be_nil # only exist when the care use a custom cover image
46
+ end
47
+ end
48
+
49
+ end
50
+
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#delete' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can success delete card' do
9
+ VCR.use_cassette('can_success_delete_card') do
10
+ card = Trello::Card.find('5e95b664ace3621af695aeb0')
11
+ respone = card.delete
12
+ expect(respone.code).to eq(200)
13
+ end
14
+ end
15
+
16
+ end
@@ -0,0 +1,67 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trello::Card#find' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'find with id and get all fields' do
9
+ VCR.use_cassette('card_find_with_id_and_get_all_fields') do
10
+ card = Trello::Card.find('5e9310df53f23017628a8011')
11
+ expect(card).to be_a(Trello::Card)
12
+ expect(card.id).to eq('5e9310df53f23017628a8011')
13
+ expect(card.short_id).not_to be_nil
14
+ expect(card.name).not_to be_nil
15
+ expect(card.desc).not_to be_nil
16
+ expect(card.due).not_to be_nil
17
+ expect(card.due_complete).not_to be_nil
18
+ expect(card.closed).not_to be_nil
19
+ expect(card.url).not_to be_nil
20
+ expect(card.short_url).not_to be_nil
21
+ expect(card.board_id).not_to be_nil
22
+ expect(card.member_ids).not_to be_nil
23
+ expect(card.list_id).not_to be_nil
24
+ expect(card.pos).not_to be_nil
25
+ expect(card.last_activity_date).not_to be_nil
26
+ expect(card.labels).not_to be_nil
27
+ expect(card.card_labels).not_to be_nil
28
+ expect(card.cover_image_id).not_to be_nil # only exist when the care use a custom cover image
29
+ expect(card.badges).not_to be_nil
30
+
31
+ expect(card.card_members).to be_nil # default not return members
32
+ expect(card.source_card_id).to be_nil # it's params only work for create card
33
+ expect(card.source_card_properties).to be_nil # it's params only work for creae card
34
+ end
35
+ end
36
+
37
+ it 'find with id and get specific fields' do
38
+ VCR.use_cassette('card_find_with_id_and_get_specific_fields') do
39
+ card = Trello::Card.find('5e7233b06b440f2b93a57b58', fields: 'desc,pos', members: true)
40
+ expect(card).to be_a(Trello::Card)
41
+ expect(card.id).to eq('5e7233b06b440f2b93a57b58')
42
+
43
+ expect(card.desc).not_to be_nil
44
+ expect(card.pos).not_to be_nil
45
+ expect(card.card_members).not_to be_nil # default not return members
46
+
47
+ expect(card.name).to be_nil
48
+ expect(card.short_id).to be_nil
49
+ expect(card.url).to be_nil
50
+ expect(card.short_url).to be_nil
51
+ expect(card.due).to be_nil
52
+ expect(card.due_complete).to eq(false)
53
+ expect(card.closed).to be_nil
54
+ expect(card.board_id).to be_nil
55
+ expect(card.member_ids).to be_nil
56
+ expect(card.list_id).to be_nil
57
+ expect(card.last_activity_date).to be_nil
58
+ expect(card.labels).to eq([])
59
+ expect(card.card_labels).to be_nil
60
+ expect(card.cover_image_id).to be_nil # only exist when the care use a custom cover image
61
+ expect(card.badges).to be_nil
62
+ expect(card.source_card_id).to be_nil # it's params only work for create card
63
+ expect(card.source_card_properties).to be_nil # it's params only work for creae card
64
+ end
65
+ end
66
+
67
+ end