troo 0.0.8 → 0.0.9

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 (316) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.ruby-version +1 -1
  4. data/.trooconf.example +18 -0
  5. data/Gemfile.lock +178 -0
  6. data/README.md +77 -21
  7. data/Rakefile +1 -1
  8. data/bin/completion.bash +10 -0
  9. data/bin/completion.zsh +10 -0
  10. data/bin/init.sh +15 -0
  11. data/bin/troo +12 -3
  12. data/config/cucumber.yml +3 -3
  13. data/config/en.yml +29 -0
  14. data/config/trello_api.yml +19 -0
  15. data/features/add/board.feature +3 -19
  16. data/features/add/card.feature +14 -18
  17. data/features/add/comment.feature +14 -14
  18. data/features/add/list.feature +11 -14
  19. data/features/default/board.feature +4 -4
  20. data/features/default/card.feature +4 -4
  21. data/features/default/list.feature +4 -4
  22. data/features/move/card.feature +54 -0
  23. data/features/refresh/all.feature +8 -4
  24. data/features/refresh/board.feature +9 -6
  25. data/features/refresh/card.feature +9 -6
  26. data/features/refresh/list.feature +9 -6
  27. data/features/show/board.feature +7 -7
  28. data/features/show/boards.feature +19 -0
  29. data/features/show/card.feature +86 -15
  30. data/features/show/comment.feature +14 -12
  31. data/features/show/list.feature +19 -14
  32. data/features/status.feature +27 -13
  33. data/features/step_definitions/fabrication_steps.rb +43 -8
  34. data/features/step_definitions/troo_steps.rb +3 -2
  35. data/features/support/env.rb +1 -0
  36. data/features/troo.feature +0 -12
  37. data/lib/troo.rb +32 -29
  38. data/lib/troo/api/client.rb +117 -0
  39. data/lib/troo/api/endpoints.rb +39 -0
  40. data/lib/troo/api/headers.rb +44 -0
  41. data/lib/troo/api/oauth_settings.rb +36 -0
  42. data/lib/troo/api/request.rb +37 -0
  43. data/lib/troo/api/response.rb +31 -0
  44. data/lib/troo/cli/add.rb +8 -12
  45. data/lib/troo/cli/commands/add.rb +95 -0
  46. data/lib/troo/cli/commands/default.rb +44 -0
  47. data/lib/troo/cli/commands/move/card.rb +95 -0
  48. data/lib/troo/cli/commands/refresh.rb +80 -0
  49. data/lib/troo/cli/commands/refresh/all.rb +52 -0
  50. data/lib/troo/cli/commands/show.rb +56 -0
  51. data/lib/troo/cli/commands/show/show_boards.rb +36 -0
  52. data/lib/troo/cli/commands/show/show_comments.rb +54 -0
  53. data/lib/troo/cli/commands/status.rb +68 -0
  54. data/lib/troo/cli/default.rb +3 -3
  55. data/lib/troo/cli/main.rb +60 -9
  56. data/lib/troo/cli/refresh.rb +4 -4
  57. data/lib/troo/cli/show.rb +7 -7
  58. data/lib/troo/cli/thor_fixes.rb +1 -5
  59. data/lib/troo/configuration.rb +53 -0
  60. data/lib/troo/debug.rb +18 -0
  61. data/lib/troo/decorators/member.rb +2 -19
  62. data/lib/troo/decorators/resource.rb +130 -0
  63. data/lib/troo/helpers/decorator_helpers.rb +21 -74
  64. data/lib/troo/helpers/model_helpers.rb +19 -4
  65. data/lib/troo/helpers/remote_model_helpers.rb +54 -0
  66. data/lib/troo/models/board.rb +19 -11
  67. data/lib/troo/models/card.rb +20 -17
  68. data/lib/troo/models/comment.rb +28 -8
  69. data/lib/troo/models/list.rb +22 -14
  70. data/lib/troo/models/member.rb +21 -5
  71. data/lib/troo/models/refresh.rb +3 -4
  72. data/lib/troo/persistence/local.rb +63 -0
  73. data/lib/troo/presentation/formatter.rb +132 -0
  74. data/lib/troo/presentation/template.rb +0 -4
  75. data/lib/troo/presenters/board.rb +32 -51
  76. data/lib/troo/presenters/card.rb +4 -11
  77. data/lib/troo/presenters/comment.rb +30 -16
  78. data/lib/troo/presenters/list.rb +25 -21
  79. data/lib/troo/presenters/member.rb +1 -8
  80. data/lib/troo/remote/all.rb +16 -0
  81. data/lib/troo/remote/board.rb +64 -0
  82. data/lib/troo/remote/card.rb +81 -0
  83. data/lib/troo/remote/comment.rb +70 -0
  84. data/lib/troo/remote/comment_data.rb +11 -0
  85. data/lib/troo/remote/comment_data_board.rb +13 -0
  86. data/lib/troo/remote/comment_data_card.rb +15 -0
  87. data/lib/troo/remote/list.rb +49 -0
  88. data/lib/troo/remote/member.rb +75 -0
  89. data/lib/troo/remote/persistence/board.rb +57 -0
  90. data/lib/troo/remote/persistence/card.rb +59 -0
  91. data/lib/troo/remote/persistence/comment.rb +58 -0
  92. data/lib/troo/remote/persistence/list.rb +57 -0
  93. data/lib/troo/remote/persistence/move_card.rb +85 -0
  94. data/lib/troo/retrieval/local.rb +100 -0
  95. data/lib/troo/retrieval/remote.rb +91 -0
  96. data/lib/troo/troo.rb +42 -42
  97. data/lib/troo/version.rb +1 -1
  98. data/lib/troo/views/card.erb +8 -10
  99. data/lib/troo/views/comments.erb +4 -0
  100. data/test/cassettes/board_by_id.yml +21 -30
  101. data/test/cassettes/boards_all.yml +22 -90
  102. data/test/cassettes/card_by_id.yml +49 -0
  103. data/test/cassettes/cards_by_board_id.yml +22 -90
  104. data/test/cassettes/cards_by_list_id.yml +22 -87
  105. data/test/cassettes/comments_by_board_id.yml +22 -95
  106. data/test/cassettes/comments_by_card_id.yml +22 -87
  107. data/test/cassettes/create_board.yml +20 -32
  108. data/test/cassettes/create_card.yml +21 -35
  109. data/test/cassettes/create_comment.yml +19 -37
  110. data/test/cassettes/create_list.yml +18 -32
  111. data/test/cassettes/list_by_id.yml +46 -0
  112. data/test/cassettes/lists_by_board_id.yml +19 -91
  113. data/test/cassettes/member_by_id.yml +48 -0
  114. data/test/cassettes/members_by_board_id.yml +21 -82
  115. data/test/cassettes/move_card_board.yml +49 -0
  116. data/test/cassettes/move_card_list.yml +49 -0
  117. data/test/lib/troo/api/client_test.rb +75 -0
  118. data/test/lib/troo/api/endpoints_test.rb +48 -0
  119. data/test/lib/troo/api/headers_test.rb +27 -0
  120. data/test/lib/troo/api/oauth_settings_test.rb +10 -0
  121. data/test/lib/troo/api/request_test.rb +63 -0
  122. data/test/lib/troo/api/response_test.rb +15 -0
  123. data/test/lib/troo/cli/add_test.rb +113 -0
  124. data/test/lib/troo/cli/commands/add_test.rb +66 -0
  125. data/test/lib/troo/cli/commands/default_test.rb +39 -0
  126. data/test/lib/troo/cli/commands/move/card_test.rb +86 -0
  127. data/test/lib/troo/cli/commands/refresh/all_test.rb +37 -0
  128. data/test/lib/troo/cli/commands/refresh_test.rb +59 -0
  129. data/test/lib/troo/cli/commands/show/show_boards_test.rb +35 -0
  130. data/test/lib/troo/cli/commands/show/show_comments_test.rb +63 -0
  131. data/test/lib/troo/cli/commands/show_test.rb +65 -0
  132. data/test/lib/troo/cli/commands/status_test.rb +48 -0
  133. data/test/lib/troo/cli/default_test.rb +39 -0
  134. data/test/lib/troo/cli/main_test.rb +102 -0
  135. data/test/lib/troo/cli/refresh_test.rb +43 -0
  136. data/test/lib/troo/cli/show_test.rb +49 -0
  137. data/test/lib/troo/cli/thor_fixes_test.rb +38 -0
  138. data/test/lib/troo/configuration_test.rb +43 -0
  139. data/test/lib/troo/debug_test.rb +25 -0
  140. data/test/lib/troo/decorators/card_test.rb +105 -229
  141. data/test/lib/troo/decorators/member_test.rb +20 -35
  142. data/test/lib/troo/decorators/resource_test.rb +157 -0
  143. data/test/lib/troo/helpers/decorator_helpers_test.rb +10 -19
  144. data/test/lib/troo/helpers/model_helpers_test.rb +18 -8
  145. data/test/lib/troo/helpers/remote_model_helpers_test.rb +68 -0
  146. data/test/lib/troo/models/behaviours/set_default_test.rb +0 -10
  147. data/test/lib/troo/models/board_test.rb +2 -2
  148. data/test/lib/troo/models/card_test.rb +2 -2
  149. data/test/lib/troo/models/comment_test.rb +6 -2
  150. data/test/lib/troo/models/list_test.rb +2 -2
  151. data/test/lib/troo/models/member_test.rb +6 -2
  152. data/test/lib/troo/persistence/local_test.rb +31 -0
  153. data/test/lib/troo/presentation/formatter_test.rb +31 -0
  154. data/test/lib/troo/presentation/sentence_test.rb +0 -12
  155. data/test/lib/troo/presentation/template_test.rb +1 -14
  156. data/test/lib/troo/presenters/board_test.rb +17 -36
  157. data/test/lib/troo/presenters/card_test.rb +1 -31
  158. data/test/lib/troo/presenters/comment_test.rb +19 -19
  159. data/test/lib/troo/presenters/list_test.rb +18 -18
  160. data/test/lib/troo/presenters/member_test.rb +1 -14
  161. data/test/lib/troo/remote/board_test.rb +66 -0
  162. data/test/lib/troo/remote/card_test.rb +81 -0
  163. data/test/lib/troo/remote/comment_data_board.rb +9 -0
  164. data/test/lib/troo/remote/comment_data_card_test.rb +9 -0
  165. data/test/lib/troo/remote/comment_data_test.rb +9 -0
  166. data/test/lib/troo/remote/comment_test.rb +100 -0
  167. data/test/lib/troo/remote/list_test.rb +67 -0
  168. data/test/lib/troo/remote/member_test.rb +70 -0
  169. data/test/lib/troo/remote/persistence/board_test.rb +39 -0
  170. data/test/lib/troo/remote/persistence/card_test.rb +50 -0
  171. data/test/lib/troo/remote/persistence/comment_test.rb +45 -0
  172. data/test/lib/troo/remote/persistence/list_test.rb +45 -0
  173. data/test/lib/troo/remote/persistence/move_card_test.rb +78 -0
  174. data/test/lib/troo/retrieval/local_test.rb +192 -0
  175. data/test/lib/troo/retrieval/remote_test.rb +49 -0
  176. data/test/support/fabrication.rb +17 -17
  177. data/test/support/fake_trello/fake_response.rb +38 -0
  178. data/test/support/fake_trello/server.rb +124 -0
  179. data/test/support/remotes/all_boards.json +41 -0
  180. data/test/support/remotes/board.json +140 -0
  181. data/test/support/remotes/board_by_id.json +75 -0
  182. data/test/support/remotes/card.json +40 -0
  183. data/test/support/remotes/card_by_card_id.json +302 -0
  184. data/test/support/remotes/comment.json +27 -0
  185. data/test/support/remotes/create_board.json +38 -0
  186. data/test/support/remotes/list.json +7 -0
  187. data/test/support/remotes/member.json +50 -0
  188. data/test/system_test.sh +21 -1
  189. data/test/test_helper.rb +2 -1
  190. data/troo.gemspec +28 -20
  191. metadata +376 -269
  192. data/configuration.yml.example +0 -7
  193. data/features/cleanup.feature +0 -13
  194. data/lib/troo/actions/create_board.rb +0 -46
  195. data/lib/troo/actions/create_card.rb +0 -44
  196. data/lib/troo/actions/create_comment.rb +0 -46
  197. data/lib/troo/actions/create_list.rb +0 -42
  198. data/lib/troo/actions/move_card.rb +0 -37
  199. data/lib/troo/adaptors/board.rb +0 -32
  200. data/lib/troo/adaptors/card.rb +0 -67
  201. data/lib/troo/adaptors/comment.rb +0 -42
  202. data/lib/troo/adaptors/list.rb +0 -37
  203. data/lib/troo/adaptors/member.rb +0 -52
  204. data/lib/troo/adaptors/resource.rb +0 -17
  205. data/lib/troo/commands/add/board.rb +0 -26
  206. data/lib/troo/commands/add/card.rb +0 -33
  207. data/lib/troo/commands/add/comment.rb +0 -33
  208. data/lib/troo/commands/add/list.rb +0 -33
  209. data/lib/troo/commands/add/resource.rb +0 -21
  210. data/lib/troo/commands/commands.rb +0 -28
  211. data/lib/troo/commands/default/board.rb +0 -25
  212. data/lib/troo/commands/default/card.rb +0 -25
  213. data/lib/troo/commands/default/list.rb +0 -25
  214. data/lib/troo/commands/default/resource.rb +0 -26
  215. data/lib/troo/commands/refresh/all.rb +0 -41
  216. data/lib/troo/commands/refresh/board.rb +0 -28
  217. data/lib/troo/commands/refresh/card.rb +0 -29
  218. data/lib/troo/commands/refresh/list.rb +0 -29
  219. data/lib/troo/commands/refresh/resource.rb +0 -42
  220. data/lib/troo/commands/show/board.rb +0 -13
  221. data/lib/troo/commands/show/boards.rb +0 -35
  222. data/lib/troo/commands/show/card.rb +0 -13
  223. data/lib/troo/commands/show/comments.rb +0 -21
  224. data/lib/troo/commands/show/list.rb +0 -13
  225. data/lib/troo/commands/show/resource.rb +0 -41
  226. data/lib/troo/commands/status/board.rb +0 -30
  227. data/lib/troo/commands/status/card.rb +0 -30
  228. data/lib/troo/commands/status/list.rb +0 -30
  229. data/lib/troo/commands/status/resource.rb +0 -34
  230. data/lib/troo/decorators/board.rb +0 -66
  231. data/lib/troo/decorators/card.rb +0 -105
  232. data/lib/troo/decorators/comment.rb +0 -36
  233. data/lib/troo/decorators/list.rb +0 -60
  234. data/lib/troo/external/board.rb +0 -31
  235. data/lib/troo/external/card.rb +0 -31
  236. data/lib/troo/external/comment.rb +0 -27
  237. data/lib/troo/external/list.rb +0 -27
  238. data/lib/troo/external/member.rb +0 -27
  239. data/lib/troo/external/resource.rb +0 -42
  240. data/lib/troo/helpers/command_helpers.rb +0 -37
  241. data/lib/troo/models/persistence/board.rb +0 -19
  242. data/lib/troo/models/persistence/card.rb +0 -19
  243. data/lib/troo/models/persistence/comment.rb +0 -19
  244. data/lib/troo/models/persistence/list.rb +0 -19
  245. data/lib/troo/models/persistence/member.rb +0 -19
  246. data/lib/troo/models/persistence/resource.rb +0 -50
  247. data/lib/troo/models/remote/comment.rb +0 -21
  248. data/lib/troo/models/remote/resource.rb +0 -25
  249. data/lib/troo/models/retrieval/board.rb +0 -29
  250. data/lib/troo/models/retrieval/card.rb +0 -33
  251. data/lib/troo/models/retrieval/comment.rb +0 -25
  252. data/lib/troo/models/retrieval/list.rb +0 -29
  253. data/lib/troo/models/retrieval/member.rb +0 -25
  254. data/lib/troo/models/retrieval/resource.rb +0 -36
  255. data/lib/troo/views/comment.erb +0 -3
  256. data/test/cassettes/card_by_card_id.yml +0 -58
  257. data/test/cassettes/comments_by_list_id.yml +0 -109
  258. data/test/cassettes/list_by_list_id.yml +0 -56
  259. data/test/cassettes/member_by_member_id.yml +0 -60
  260. data/test/cassettes/move_card.yml +0 -61
  261. data/test/lib/troo/actions/create_board_test.rb +0 -66
  262. data/test/lib/troo/actions/create_card_test.rb +0 -71
  263. data/test/lib/troo/actions/create_comment_test.rb +0 -71
  264. data/test/lib/troo/actions/create_list_test.rb +0 -65
  265. data/test/lib/troo/actions/move_card_test.rb +0 -54
  266. data/test/lib/troo/adaptors/board_test.rb +0 -38
  267. data/test/lib/troo/adaptors/card_test.rb +0 -49
  268. data/test/lib/troo/adaptors/comment_test.rb +0 -41
  269. data/test/lib/troo/adaptors/list_test.rb +0 -38
  270. data/test/lib/troo/adaptors/member_test.rb +0 -44
  271. data/test/lib/troo/commands/add/board_test.rb +0 -43
  272. data/test/lib/troo/commands/add/card_test.rb +0 -44
  273. data/test/lib/troo/commands/add/comment_test.rb +0 -44
  274. data/test/lib/troo/commands/add/list_test.rb +0 -44
  275. data/test/lib/troo/commands/add/resource_test.rb +0 -25
  276. data/test/lib/troo/commands/default/board_test.rb +0 -37
  277. data/test/lib/troo/commands/default/card_test.rb +0 -37
  278. data/test/lib/troo/commands/default/list_test.rb +0 -37
  279. data/test/lib/troo/commands/default/resource_test.rb +0 -20
  280. data/test/lib/troo/commands/refresh/all_test.rb +0 -39
  281. data/test/lib/troo/commands/refresh/board_test.rb +0 -62
  282. data/test/lib/troo/commands/refresh/card_test.rb +0 -62
  283. data/test/lib/troo/commands/refresh/list_test.rb +0 -62
  284. data/test/lib/troo/commands/refresh/resource_test.rb +0 -20
  285. data/test/lib/troo/commands/show/board_test.rb +0 -65
  286. data/test/lib/troo/commands/show/boards_test.rb +0 -36
  287. data/test/lib/troo/commands/show/card_test.rb +0 -64
  288. data/test/lib/troo/commands/show/comments_test.rb +0 -64
  289. data/test/lib/troo/commands/show/list_test.rb +0 -64
  290. data/test/lib/troo/commands/show/resource_test.rb +0 -25
  291. data/test/lib/troo/commands/status/board_test.rb +0 -43
  292. data/test/lib/troo/commands/status/card_test.rb +0 -43
  293. data/test/lib/troo/commands/status/list_test.rb +0 -43
  294. data/test/lib/troo/commands/status/resource_test.rb +0 -19
  295. data/test/lib/troo/decorators/board_test.rb +0 -129
  296. data/test/lib/troo/decorators/comment_test.rb +0 -74
  297. data/test/lib/troo/decorators/list_test.rb +0 -102
  298. data/test/lib/troo/external/board_test.rb +0 -102
  299. data/test/lib/troo/external/card_test.rb +0 -131
  300. data/test/lib/troo/external/comment_test.rb +0 -109
  301. data/test/lib/troo/external/list_test.rb +0 -94
  302. data/test/lib/troo/external/member_test.rb +0 -94
  303. data/test/lib/troo/external/resource_test.rb +0 -25
  304. data/test/lib/troo/helpers/command_helpers_test.rb +0 -82
  305. data/test/lib/troo/models/persistence/board_test.rb +0 -62
  306. data/test/lib/troo/models/persistence/card_test.rb +0 -61
  307. data/test/lib/troo/models/persistence/comment_test.rb +0 -69
  308. data/test/lib/troo/models/persistence/list_test.rb +0 -60
  309. data/test/lib/troo/models/persistence/member_test.rb +0 -60
  310. data/test/lib/troo/models/remote/comment_test.rb +0 -56
  311. data/test/lib/troo/models/remote/resource_test.rb +0 -26
  312. data/test/lib/troo/models/retrieval/board_test.rb +0 -93
  313. data/test/lib/troo/models/retrieval/card_test.rb +0 -101
  314. data/test/lib/troo/models/retrieval/comment_test.rb +0 -46
  315. data/test/lib/troo/models/retrieval/list_test.rb +0 -93
  316. data/test/lib/troo/models/retrieval/member_test.rb +0 -58
@@ -1,38 +0,0 @@
1
- require_relative '../../../test_helper'
2
-
3
- module Troo
4
- describe Adaptors::Board do
5
- let(:described_class) { Adaptors::Board }
6
- let(:resource) do
7
- OpenStruct.new(
8
- id: '526d8e130a14a9d846001d96',
9
- name: 'My Test Board',
10
- description: 'A very brief description...',
11
- closed: false)
12
- end
13
-
14
- after { database_cleanup }
15
-
16
- describe '#initialize' do
17
- subject { described_class.new(resource) }
18
-
19
- it 'assigns the resource to an instance variable' do
20
- subject.instance_variable_get('@resource')
21
- .must_equal(resource)
22
- end
23
- end
24
-
25
- describe '#adapted' do
26
- subject { described_class.adapt(resource) }
27
-
28
- it 'returns an adapted resource for local persistence' do
29
- subject.must_equal(
30
- external_board_id: '526d8e130a14a9d846001d96',
31
- name: 'My Test Board',
32
- description: 'A very brief description...',
33
- closed: 'false'
34
- )
35
- end
36
- end
37
- end
38
- end
@@ -1,49 +0,0 @@
1
- require_relative '../../../test_helper'
2
-
3
- module Troo
4
- describe Adaptors::Card do
5
- let(:described_class) { Adaptors::Card }
6
- let(:resource) do
7
- OpenStruct.new(
8
- board_id: '526d8e130a14a9d846001d96',
9
- list_id: '526d8e130a14a9d846001d97',
10
- id: '526d8f19ddb279532e005259',
11
- member_ids: ['5195fdb5a8c01a2318004f5d'],
12
- short_id: 67,
13
- name: 'My Test Card',
14
- desc: 'some description',
15
- url: 'some trello url',
16
- pos: 16,
17
- last_activity_date: '2013-12-17 21:48:09 UTC',
18
- closed: false)
19
- end
20
-
21
- describe '#initialize' do
22
- subject { described_class.new(resource) }
23
-
24
- it 'assigns the resource to an instance variable' do
25
- subject.instance_variable_get('@resource')
26
- .must_equal(resource)
27
- end
28
- end
29
-
30
- describe '#adapted' do
31
- subject { described_class.adapt(resource) }
32
-
33
- it 'returns an adapted resource for local persistence' do
34
- subject.must_equal(
35
- external_board_id: '526d8e130a14a9d846001d96',
36
- external_list_id: '526d8e130a14a9d846001d97',
37
- external_card_id: '526d8f19ddb279532e005259',
38
- external_member_ids: "[\"5195fdb5a8c01a2318004f5d\"]",
39
- short_id: '67',
40
- name: 'My Test Card',
41
- desc: 'some description',
42
- url: 'some trello url',
43
- position: '16',
44
- last_activity_date: '2013-12-17 21:48:09 UTC',
45
- closed: 'false')
46
- end
47
- end
48
- end
49
- end
@@ -1,41 +0,0 @@
1
- require_relative '../../../test_helper'
2
-
3
- module Troo
4
- describe Adaptors::Comment do
5
- let(:described_class) { Adaptors::Comment }
6
- let(:resource) do
7
- OpenStruct.new(
8
- id: '51f9277b2822b8654f0023af',
9
- member_creator_id: '5195fdb5a8c01a2318004f5d',
10
- date: '2013-12-17 22:01:13 UTC',
11
- data: {
12
- 'text' => 'My Test Comment',
13
- 'board' => { 'id' => '526d8e130a14a9d846001d96' },
14
- 'card' => { 'id' => '526d8f19ddb279532e005259' } })
15
- end
16
-
17
- describe '#initialize' do
18
- subject { described_class.new(resource) }
19
-
20
- it 'assigns the resource to an instance variable' do
21
- subject.instance_variable_get('@resource')
22
- .must_equal(resource)
23
- end
24
- end
25
-
26
- describe '#adapted' do
27
- subject { described_class.adapt(resource) }
28
-
29
- it 'returns an adapted resource for local persistence' do
30
- subject.must_equal(
31
- external_comment_id: '51f9277b2822b8654f0023af',
32
- external_board_id: '526d8e130a14a9d846001d96',
33
- external_card_id: '526d8f19ddb279532e005259',
34
- external_member_id: '5195fdb5a8c01a2318004f5d',
35
- date: '2013-12-17 22:01:13 UTC',
36
- text: 'My Test Comment'
37
- )
38
- end
39
- end
40
- end
41
- end
@@ -1,38 +0,0 @@
1
- require_relative '../../../test_helper'
2
-
3
- module Troo
4
- describe Adaptors::List do
5
- let(:described_class) { Adaptors::List }
6
- let(:resource) do
7
- OpenStruct.new(
8
- board_id: '526d8e130a14a9d846001d96',
9
- id: '526d8e130a14a9d846001d97',
10
- name: 'My Test List',
11
- pos: 32_768,
12
- closed: false)
13
- end
14
-
15
- describe '#initialize' do
16
- subject { described_class.new(resource) }
17
-
18
- it 'assigns the resource to an instance variable' do
19
- subject.instance_variable_get('@resource')
20
- .must_equal(resource)
21
- end
22
- end
23
-
24
- describe '#adapted' do
25
- subject { described_class.adapt(resource) }
26
-
27
- it 'returns an adapted resource for local persistence' do
28
- subject.must_equal(
29
- external_board_id: '526d8e130a14a9d846001d96',
30
- external_list_id: '526d8e130a14a9d846001d97',
31
- name: 'My Test List',
32
- position: '32768',
33
- closed: 'false'
34
- )
35
- end
36
- end
37
- end
38
- end
@@ -1,44 +0,0 @@
1
- require_relative '../../../test_helper'
2
-
3
- module Troo
4
- describe Adaptors::Member do
5
- let(:described_class) { Adaptors::Member }
6
- let(:resource) do
7
- OpenStruct.new(
8
- id: '5195fdb5a8c01a2318004f5d',
9
- username: 'gavinlaking1',
10
- email: 'gavinlaking@gmail.com',
11
- full_name: 'Gavin Laking',
12
- initials: 'GL',
13
- avatar_id: 'some_avatar_id',
14
- bio: 'some bio',
15
- url: 'http://www.gavinlaking.name/')
16
- end
17
-
18
- describe '#initialize' do
19
- subject { described_class.new(resource) }
20
-
21
- it 'assigns the resource to an instance variable' do
22
- subject.instance_variable_get('@resource')
23
- .must_equal(resource)
24
- end
25
- end
26
-
27
- describe '#adapted' do
28
- subject { described_class.adapt(resource) }
29
-
30
- it 'returns an adapted resource for local persistence' do
31
- subject.must_equal(
32
- external_member_id: '5195fdb5a8c01a2318004f5d',
33
- username: 'gavinlaking1',
34
- email: 'gavinlaking@gmail.com',
35
- full_name: 'Gavin Laking',
36
- initials: 'GL',
37
- avatar_id: 'some_avatar_id',
38
- bio: 'some bio',
39
- url: 'http://www.gavinlaking.name/'
40
- )
41
- end
42
- end
43
- end
44
- end
@@ -1,43 +0,0 @@
1
- require_relative '../../../../test_helper'
2
-
3
- module Troo
4
- module Commands
5
- module Add
6
- describe Board do
7
- let(:described_class) { Board }
8
- let(:value) { 'Add Board Test' }
9
- let(:id) {}
10
-
11
- before do
12
- CreateBoard.stubs(:with).returns(false)
13
- end
14
-
15
- describe '#add' do
16
- subject { described_class.new(value, id).add }
17
-
18
- context 'when the parent resource exists' do
19
- context 'and the board was created' do
20
- before { CreateBoard.stubs(:with).returns(true) }
21
-
22
- it 'returns a polite message' do
23
- subject.must_match(/\'Add Board Test\' created/)
24
- end
25
- end
26
-
27
- context 'and the board was not created' do
28
- it 'returns a polite message' do
29
- subject.must_match(/could not/)
30
- end
31
- end
32
- end
33
-
34
- context 'when the parent resource does not exist' do
35
- it 'returns a polite message' do
36
- subject.must_match(/could not/)
37
- end
38
- end
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,44 +0,0 @@
1
- require_relative '../../../../test_helper'
2
-
3
- module Troo
4
- module Commands
5
- module Add
6
- describe Card do
7
- let(:described_class) { Card }
8
- let(:value) { 'Add Card Test' }
9
- let(:id) {}
10
-
11
- before do
12
- Retrieval::List.stubs(:retrieve)
13
- CreateCard.stubs(:for).returns(false)
14
- end
15
-
16
- describe '#add' do
17
- subject { described_class.new(value, id).add }
18
-
19
- context 'when the parent resource exists' do
20
- context 'and the card was created' do
21
- before { CreateCard.stubs(:for).returns(true) }
22
-
23
- it 'returns a polite message' do
24
- subject.must_match(/\'Add Card Test\' created/)
25
- end
26
- end
27
-
28
- context 'and the card was not created' do
29
- it 'returns a polite message' do
30
- subject.must_match(/could not/)
31
- end
32
- end
33
- end
34
-
35
- context 'when the parent resource does not exist' do
36
- it 'returns a polite message' do
37
- subject.must_match(/could not/)
38
- end
39
- end
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,44 +0,0 @@
1
- require_relative '../../../../test_helper'
2
-
3
- module Troo
4
- module Commands
5
- module Add
6
- describe Comment do
7
- let(:described_class) { Comment }
8
- let(:value) { 'Add Comment Test' }
9
- let(:id) {}
10
-
11
- before do
12
- Retrieval::Card.stubs(:retrieve)
13
- CreateComment.stubs(:for).returns(false)
14
- end
15
-
16
- describe '#add' do
17
- subject { described_class.new(value, id).add }
18
-
19
- context 'when the parent resource exists' do
20
- context 'and the comment was created' do
21
- before { CreateComment.stubs(:for).returns(true) }
22
-
23
- it 'returns a polite message' do
24
- subject.must_match(/New comment created/)
25
- end
26
- end
27
-
28
- context 'and the comment was not created' do
29
- it 'returns a polite message' do
30
- subject.must_match(/could not/)
31
- end
32
- end
33
- end
34
-
35
- context 'when the parent resource does not exist' do
36
- it 'returns a polite message' do
37
- subject.must_match(/could not/)
38
- end
39
- end
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,44 +0,0 @@
1
- require_relative '../../../../test_helper'
2
-
3
- module Troo
4
- module Commands
5
- module Add
6
- describe List do
7
- let(:described_class) { List }
8
- let(:value) { 'Add List Test' }
9
- let(:id) {}
10
-
11
- before do
12
- Retrieval::Board.stubs(:retrieve)
13
- CreateList.stubs(:for).returns(false)
14
- end
15
-
16
- describe '#add' do
17
- subject { described_class.new(value, id).add }
18
-
19
- context 'when the parent resource exists' do
20
- context 'and the list was created' do
21
- before { CreateList.stubs(:for).returns(true) }
22
-
23
- it 'returns a polite message' do
24
- subject.must_match(/\'Add List Test\' created/)
25
- end
26
- end
27
-
28
- context 'and the list was not created' do
29
- it 'returns a polite message' do
30
- subject.must_match(/could not/)
31
- end
32
- end
33
- end
34
-
35
- context 'when the parent resource does not exist' do
36
- it 'returns a polite message' do
37
- subject.must_match(/could not/)
38
- end
39
- end
40
- end
41
- end
42
- end
43
- end
44
- end
@@ -1,25 +0,0 @@
1
- require_relative '../../../../test_helper'
2
-
3
- module Troo
4
- module Commands
5
- module Add
6
- describe Resource do
7
- let(:described_class) { Resource }
8
- let(:value) {}
9
- let(:id) {}
10
-
11
- describe '#initialize' do
12
- subject { described_class.new(value, id) }
13
-
14
- it 'assigns the value to an instance variable' do
15
- subject.instance_variable_get('@value').must_equal(value)
16
- end
17
-
18
- it 'assigns the id to an instance variable' do
19
- subject.instance_variable_get('@id').must_equal(id)
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,37 +0,0 @@
1
- require_relative '../../../../test_helper'
2
-
3
- module Troo
4
- module Commands
5
- module Default
6
- describe Board do
7
- let(:described_class) { Board }
8
- let(:id) { '1' }
9
-
10
- before do
11
- @board = Fabricate.build(:board)
12
- Retrieval::Board.stubs(:retrieve).returns(resource)
13
- end
14
-
15
- describe '.dispatch' do
16
- subject { described_class.dispatch(id) }
17
-
18
- context 'when the resource exists' do
19
- let(:resource) { @board }
20
-
21
- it 'sets the default and returns a polite message' do
22
- subject.must_match(/set as default/)
23
- end
24
- end
25
-
26
- context 'when the resource does not exist' do
27
- let(:resource) {}
28
-
29
- it 'returns a polite message' do
30
- subject.must_match(/cannot be found/)
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end