ruby-trello 2.2.0 → 2.3.0

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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +49 -10
  3. data/lib/trello.rb +47 -35
  4. data/lib/trello/action.rb +4 -2
  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/basic_data.rb +7 -48
  16. data/lib/trello/board.rb +1 -1
  17. data/lib/trello/card.rb +88 -36
  18. data/lib/trello/custom_field.rb +26 -9
  19. data/lib/trello/custom_field_item.rb +32 -12
  20. data/lib/trello/label.rb +24 -7
  21. data/lib/trello/member.rb +1 -1
  22. data/lib/trello/register_attributes.rb +54 -0
  23. data/spec/action_spec.rb +1 -1
  24. data/spec/card_spec.rb +98 -22
  25. data/spec/cassettes/can_add_a_file_from_url_on_a_card.yml +189 -0
  26. data/spec/cassettes/can_add_a_file_on_a_card.yml +200 -0
  27. data/spec/cassettes/can_add_a_member_to_a_card.yml +190 -0
  28. data/spec/cassettes/can_add_label_on_a_card.yml +281 -0
  29. data/spec/cassettes/can_close_bong_a_card.yml +189 -0
  30. data/spec/cassettes/can_get_actions.yml +196 -0
  31. data/spec/cassettes/can_get_attachments.yml +187 -0
  32. data/spec/cassettes/can_get_comments.yml +193 -0
  33. data/spec/cassettes/can_move_a_card_to_another_board_with_specific_list.yml +373 -0
  34. data/spec/cassettes/can_move_a_card_to_another_board_without_specific_list.yml +281 -0
  35. data/spec/cassettes/can_move_a_card_to_another_list.yml +281 -0
  36. data/spec/cassettes/can_remove_a_member_from_a_card.yml +185 -0
  37. data/spec/cassettes/can_remove_an_attachment_on_a_card.yml +277 -0
  38. data/spec/cassettes/can_remove_an_upvote_on_a_card.yml +465 -0
  39. data/spec/cassettes/can_remove_label_on_a_card.yml +279 -0
  40. data/spec/cassettes/can_success_add_comment_to_a_card.yml +196 -0
  41. data/spec/cassettes/can_success_copy_checklist_to_a_card.yml +281 -0
  42. data/spec/cassettes/can_success_copy_checklist_to_a_card_without_name_pos.yml +281 -0
  43. data/spec/cassettes/can_success_create_a_card.yml +99 -0
  44. data/spec/cassettes/can_success_create_new_checklist_to_a_card.yml +189 -0
  45. data/spec/cassettes/can_success_delete_card.yml +185 -0
  46. data/spec/cassettes/can_success_upate_a_card.yml +189 -0
  47. data/spec/cassettes/can_success_update_bong_a_card.yml +191 -0
  48. data/spec/cassettes/can_upvote_on_a_card.yml +469 -0
  49. data/spec/cassettes/card_find_with_id_and_get_all_fields.yml +95 -0
  50. data/spec/cassettes/card_find_with_id_and_get_specific_fields.yml +96 -0
  51. data/spec/cassettes/custom_field_item_save_1.yml +97 -0
  52. data/spec/cassettes/custom_field_item_save_2.yml +281 -0
  53. data/spec/cassettes/get_board_of_card.yml +187 -0
  54. data/spec/cassettes/get_check_item_states_of_card.yml +188 -0
  55. data/spec/cassettes/get_checklists_of_card.yml +187 -0
  56. data/spec/cassettes/get_cover_image_of_card.yml +187 -0
  57. data/spec/cassettes/get_custom_field_items_of_card.yml +187 -0
  58. data/spec/cassettes/get_list_of_card.yml +188 -0
  59. data/spec/cassettes/get_lists.yml +187 -0
  60. data/spec/cassettes/get_members_of_card.yml +189 -0
  61. data/spec/cassettes/get_plugin_data_of_card.yml +187 -0
  62. data/spec/cassettes/get_voters_of_card.yml +188 -0
  63. data/spec/cassettes/remove_upvote_on_a_card_when_have_not_voted.yml +366 -0
  64. data/spec/cassettes/revote_on_a_card.yml +464 -0
  65. data/spec/custom_field_item_spec.rb +74 -0
  66. data/spec/custom_field_spec.rb +76 -0
  67. data/spec/integration/basic_data/many_spec.rb +123 -0
  68. data/spec/integration/basic_data/one_spec.rb +84 -0
  69. data/spec/integration/basic_data/register_attributes_spec.rb +75 -0
  70. data/spec/integration/board_lists_spec.rb +21 -0
  71. data/spec/integration/card/add_and_remove_attachment_spec.rb +45 -0
  72. data/spec/integration/card/add_and_remove_label_spec.rb +35 -0
  73. data/spec/integration/card/add_checklist_spec.rb +32 -0
  74. data/spec/integration/card/add_comment_spec.rb +19 -0
  75. data/spec/integration/card/add_memeber_spec.rb +19 -0
  76. data/spec/integration/card/associations/actions_spec.rb +17 -0
  77. data/spec/integration/card/associations/attachments_spec.rb +18 -0
  78. data/spec/integration/card/associations/board_spec.rb +17 -0
  79. data/spec/integration/card/associations/check_item_states_spec.rb +17 -0
  80. data/spec/integration/card/associations/checklists_spec.rb +18 -0
  81. data/spec/integration/card/associations/comments_spec.rb +19 -0
  82. data/spec/integration/card/associations/cover_image_spec.rb +18 -0
  83. data/spec/integration/card/associations/custom_field_items_spec.rb +18 -0
  84. data/spec/integration/card/associations/list_spec.rb +16 -0
  85. data/spec/integration/card/associations/members_spec.rb +18 -0
  86. data/spec/integration/card/associations/plugin_data_spec.rb +18 -0
  87. data/spec/integration/card/associations/voters_spec.rb +17 -0
  88. data/spec/integration/card/close!_spec.rb +16 -0
  89. data/spec/integration/card/create_new_check_list_spec.rb +19 -0
  90. data/spec/integration/card/create_spec.rb +50 -0
  91. data/spec/integration/card/delete_spec.rb +16 -0
  92. data/spec/integration/card/find_spec.rb +67 -0
  93. data/spec/integration/card/move_to_board_spec.rb +36 -0
  94. data/spec/integration/card/move_to_list_spec.rb +20 -0
  95. data/spec/integration/card/remove_member_spec.rb +19 -0
  96. data/spec/integration/card/save_spec.rb +61 -0
  97. data/spec/integration/card/update!_spec.rb +53 -0
  98. data/spec/integration/card/vote_spec.rb +50 -0
  99. data/spec/integration/custom_field_item_spec.rb +47 -0
  100. data/spec/label_spec.rb +79 -0
  101. data/spec/spec_helper.rb +48 -23
  102. data/spec/unit/trello/association_builder/has_many_spec.rb +36 -0
  103. data/spec/unit/trello/association_builder/has_one_spec.rb +36 -0
  104. data/spec/unit/trello/association_fetcher/has_many/fetch_spec.rb +38 -0
  105. data/spec/unit/trello/association_fetcher/has_many/params_spec.rb +107 -0
  106. data/spec/unit/trello/association_fetcher/has_many_spec.rb +50 -0
  107. data/spec/unit/trello/association_fetcher/has_one/fetch_spec.rb +51 -0
  108. data/spec/unit/trello/association_fetcher/has_one/params_spec.rb +81 -0
  109. data/spec/unit/trello/association_fetcher/has_one_spec.rb +49 -0
  110. data/spec/unit/trello/association_infer_tool_spec.rb +41 -0
  111. data/spec/unit/trello/basic_data_spec.rb +54 -0
  112. data/spec/unit/trello/card_spec.rb +103 -0
  113. metadata +185 -6
@@ -0,0 +1,45 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trell::Card add and remove attachment' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ describe '#add_attachment' do
9
+ it 'can success add an attachment(file) on a card' do
10
+ VCR.use_cassette('can_add_a_file_on_a_card') do
11
+ card = Trello::Card.find('5e95d1b4f43f9a06497f17f7')
12
+ file = File.new('spec/integration/card/add_and_remove_attachment_spec.rb', 'r')
13
+
14
+ response = card.add_attachment(file)
15
+ expect(response.code).to eq(200)
16
+ body = JSON.parse(response.body)
17
+ expect(body['name']).to eq('add_and_remove_attachment_spec.rb')
18
+ end
19
+ end
20
+
21
+ it 'can success add and attachment(url) on a card' do
22
+ VCR.use_cassette('can_add_a_file_from_url_on_a_card') do
23
+ card = Trello::Card.find('5e95d1b4f43f9a06497f17f7')
24
+ file_url = 'https://upload.wikimedia.org/wikipedia/en/6/6b/Hello_Web_Series_%28Wordmark%29_Logo.png'
25
+
26
+ response = card.add_attachment(file_url, 'hello.png')
27
+ expect(response.code).to eq(200)
28
+ body = JSON.parse(response.body)
29
+ expect(body['name']).to eq('hello.png')
30
+ end
31
+ end
32
+ end
33
+
34
+ describe '#remove_attachment' do
35
+ it 'can success remove and attachment on a card' do
36
+ VCR.use_cassette('can_remove_an_attachment_on_a_card') do
37
+ card = Trello::Card.find('5e95d1b4f43f9a06497f17f7')
38
+ attachments = card.attachments
39
+
40
+ response = card.remove_attachment(attachments.last)
41
+ expect(response.code).to eq(200)
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trell::Card add and remove label' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ describe '#add_label' do
9
+ it 'can success add a label on a card' do
10
+ VCR.use_cassette('can_add_label_on_a_card') do
11
+ card = Trello::Card.find('5e95d1b4f43f9a06497f17f7')
12
+ label = Trello::Label.find('5e94f5de7669b2254978bd14')
13
+ label.name = 'label name' # For past name valiation
14
+
15
+ response = card.add_label(label)
16
+ expect(response.code).to eq(200)
17
+ body = JSON.parse(response.body)
18
+ expect(body.first).to eq('5e94f5de7669b2254978bd14')
19
+ end
20
+ end
21
+ end
22
+
23
+ describe '#remove_label' do
24
+ it 'can success remove a label on a card' do
25
+ VCR.use_cassette('can_remove_label_on_a_card') do
26
+ card = Trello::Card.find('5e95d1b4f43f9a06497f17f7')
27
+ label = Trello::Label.find('5e94f5de7669b2254978bd14')
28
+ label.name = 'label name' # For past name valiation
29
+
30
+ response = card.remove_label(label)
31
+ expect(response.code).to eq(200)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'Trell::Card#add_checklist' do
4
+ include IntegrationHelpers
5
+
6
+ before { setup_trello }
7
+
8
+ it 'can copy a checklist from another card' do
9
+ VCR.use_cassette('can_success_copy_checklist_to_a_card') do
10
+ checklist = Trello::Checklist.find('5e948a1a9e2cfd0ef6818e89')
11
+ card = Trello::Card.find('5e93ba665c58c44a46cb2ef9')
12
+ response = card.add_checklist(checklist, name: 'ToDo2', position: 'top')
13
+
14
+ expect(response.code).to eq(200)
15
+ body = JSON.parse(response.body)
16
+ expect(body['name']).to eq('ToDo2')
17
+ end
18
+ end
19
+
20
+ it 'can copy a checklist from another card without specify name and position' do
21
+ VCR.use_cassette('can_success_copy_checklist_to_a_card_without_name_pos') do
22
+ checklist = Trello::Checklist.find('5e948a1a9e2cfd0ef6818e89')
23
+ card = Trello::Card.find('5e93ba665c58c44a46cb2ef9')
24
+ response = card.add_checklist(checklist)
25
+
26
+ expect(response.code).to eq(200)
27
+ body = JSON.parse(response.body)
28
+ expect(body['idCard']).to eq(card.id)
29
+ expect(body['name']).to eq(checklist.name)
30
+ end
31
+ end
32
+ end
@@ -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
+