groupdocs 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 (324) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +9 -9
  3. data/CHANGELOG.md +482 -477
  4. data/Gemfile +3 -3
  5. data/LICENSE.txt +21 -21
  6. data/README.md +94 -94
  7. data/Rakefile +9 -9
  8. data/examples/README.md +12 -12
  9. data/examples/api-samples/Gemfile +5 -5
  10. data/examples/api-samples/Gemfile.lock +49 -49
  11. data/examples/api-samples/README.md +23 -23
  12. data/examples/api-samples/public/css/style.css +229 -229
  13. data/examples/api-samples/public/docs/annotation-sample.html +167 -167
  14. data/examples/api-samples/public/docs/docco.css +500 -500
  15. data/examples/api-samples/public/docs/envelope-sample.html +374 -374
  16. data/examples/api-samples/public/docs/sample01.html +181 -181
  17. data/examples/api-samples/public/docs/sample02.html +199 -199
  18. data/examples/api-samples/public/docs/sample03.html +318 -318
  19. data/examples/api-samples/public/docs/sample04.html +217 -217
  20. data/examples/api-samples/public/docs/sample05.html +296 -296
  21. data/examples/api-samples/public/docs/sample06.html +347 -347
  22. data/examples/api-samples/public/docs/sample07.html +209 -209
  23. data/examples/api-samples/public/docs/sample08.html +277 -277
  24. data/examples/api-samples/public/docs/sample09.html +314 -314
  25. data/examples/api-samples/public/docs/sample10.html +270 -270
  26. data/examples/api-samples/public/docs/sample11.html +462 -462
  27. data/examples/api-samples/public/docs/sample12.html +199 -199
  28. data/examples/api-samples/public/docs/sample13.html +201 -201
  29. data/examples/api-samples/public/docs/sample14.html +204 -204
  30. data/examples/api-samples/public/docs/sample15.html +182 -182
  31. data/examples/api-samples/public/docs/sample16.html +234 -234
  32. data/examples/api-samples/public/docs/sample17.html +309 -309
  33. data/examples/api-samples/public/docs/sample18.html +721 -721
  34. data/examples/api-samples/public/docs/sample19.html +631 -631
  35. data/examples/api-samples/public/docs/sample20.html +230 -230
  36. data/examples/api-samples/public/docs/sample21.html +790 -790
  37. data/examples/api-samples/public/docs/sample22.html +408 -408
  38. data/examples/api-samples/public/docs/sample25.html +550 -550
  39. data/examples/api-samples/public/templates/base-simple_source.html +191 -191
  40. data/examples/api-samples/public/templates/testdocument.html +100 -100
  41. data/examples/api-samples/public/templates/welcome.htm +137 -137
  42. data/examples/api-samples/samples/annotation-sample.rb +56 -56
  43. data/examples/api-samples/samples/envelope-sample.rb +133 -133
  44. data/examples/api-samples/samples/sample01.rb +44 -44
  45. data/examples/api-samples/samples/sample02.rb +50 -50
  46. data/examples/api-samples/samples/sample03.rb +79 -79
  47. data/examples/api-samples/samples/sample04.rb +54 -54
  48. data/examples/api-samples/samples/sample05.rb +83 -83
  49. data/examples/api-samples/samples/sample06.rb +86 -86
  50. data/examples/api-samples/samples/sample07.rb +59 -59
  51. data/examples/api-samples/samples/sample08.rb +76 -76
  52. data/examples/api-samples/samples/sample09.rb +85 -85
  53. data/examples/api-samples/samples/sample10.rb +70 -70
  54. data/examples/api-samples/samples/sample11.rb +132 -132
  55. data/examples/api-samples/samples/sample12.rb +48 -48
  56. data/examples/api-samples/samples/sample13.rb +49 -49
  57. data/examples/api-samples/samples/sample14.rb +54 -54
  58. data/examples/api-samples/samples/sample15.rb +43 -43
  59. data/examples/api-samples/samples/sample16.rb +57 -57
  60. data/examples/api-samples/samples/sample17.rb +70 -70
  61. data/examples/api-samples/samples/sample18.rb +190 -190
  62. data/examples/api-samples/samples/sample19.rb +188 -188
  63. data/examples/api-samples/samples/sample20.rb +68 -68
  64. data/examples/api-samples/samples/sample21.rb +212 -212
  65. data/examples/api-samples/samples/sample22.rb +109 -109
  66. data/examples/api-samples/samples/sample25.rb +127 -127
  67. data/examples/api-samples/views/_others_samples.haml +233 -233
  68. data/examples/api-samples/views/annotation_sample.haml +63 -63
  69. data/examples/api-samples/views/envelope_sample.haml +72 -72
  70. data/examples/api-samples/views/index.haml +235 -235
  71. data/examples/api-samples/views/layout.haml +3 -3
  72. data/examples/api-samples/views/sample01.haml +63 -63
  73. data/examples/api-samples/views/sample02.haml +52 -52
  74. data/examples/api-samples/views/sample03.haml +87 -87
  75. data/examples/api-samples/views/sample04.haml +55 -55
  76. data/examples/api-samples/views/sample05.haml +86 -86
  77. data/examples/api-samples/views/sample06.haml +58 -58
  78. data/examples/api-samples/views/sample07.haml +52 -52
  79. data/examples/api-samples/views/sample08.haml +100 -100
  80. data/examples/api-samples/views/sample09.haml +95 -95
  81. data/examples/api-samples/views/sample10.haml +93 -93
  82. data/examples/api-samples/views/sample11.haml +140 -140
  83. data/examples/api-samples/views/sample12.haml +68 -68
  84. data/examples/api-samples/views/sample13.haml +64 -64
  85. data/examples/api-samples/views/sample14.haml +60 -60
  86. data/examples/api-samples/views/sample15.haml +51 -51
  87. data/examples/api-samples/views/sample16.haml +50 -50
  88. data/examples/api-samples/views/sample17.haml +54 -54
  89. data/examples/api-samples/views/sample18.haml +143 -143
  90. data/examples/api-samples/views/sample19.haml +92 -92
  91. data/examples/api-samples/views/sample20.haml +54 -54
  92. data/examples/api-samples/views/sample21.haml +123 -123
  93. data/examples/api-samples/views/sample22.haml +106 -106
  94. data/examples/api-samples/views/sample25.haml +101 -101
  95. data/examples/api-samples/views/sample31.haml +2 -2
  96. data/examples/api-samples/web.rb +20 -20
  97. data/examples/viewer/Gemfile +5 -5
  98. data/examples/viewer/app.rb +52 -52
  99. data/groupdocs.gemspec +31 -31
  100. data/lib/groupdocs.rb +62 -62
  101. data/lib/groupdocs/api.rb +6 -6
  102. data/lib/groupdocs/api/entity.rb +112 -112
  103. data/lib/groupdocs/api/helpers.rb +11 -11
  104. data/lib/groupdocs/api/helpers/access_mode_helper.rb +27 -27
  105. data/lib/groupdocs/api/helpers/access_rights_helper.rb +55 -55
  106. data/lib/groupdocs/api/helpers/accessor_helper.rb +30 -30
  107. data/lib/groupdocs/api/helpers/byte_flag_helper.rb +49 -49
  108. data/lib/groupdocs/api/helpers/credentials_helper.rb +35 -35
  109. data/lib/groupdocs/api/helpers/mime_helper.rb +21 -21
  110. data/lib/groupdocs/api/helpers/path_helper.rb +28 -28
  111. data/lib/groupdocs/api/helpers/rest_helper.rb +99 -99
  112. data/lib/groupdocs/api/helpers/signature_public_helper.rb +22 -22
  113. data/lib/groupdocs/api/helpers/status_helper.rb +27 -27
  114. data/lib/groupdocs/api/helpers/url_helper.rb +101 -101
  115. data/lib/groupdocs/api/request.rb +91 -91
  116. data/lib/groupdocs/datasource.rb +249 -249
  117. data/lib/groupdocs/datasource/field.rb +39 -39
  118. data/lib/groupdocs/document.rb +1550 -1550
  119. data/lib/groupdocs/document/annotation.rb +421 -421
  120. data/lib/groupdocs/document/annotation/reply.rb +173 -173
  121. data/lib/groupdocs/document/annotation/reviewer.rb +66 -66
  122. data/lib/groupdocs/document/change.rb +56 -56
  123. data/lib/groupdocs/document/field.rb +53 -53
  124. data/lib/groupdocs/document/metadata.rb +32 -32
  125. data/lib/groupdocs/document/rectangle.rb +18 -18
  126. data/lib/groupdocs/document/view.rb +36 -36
  127. data/lib/groupdocs/errors.rb +8 -8
  128. data/lib/groupdocs/job.rb +468 -468
  129. data/lib/groupdocs/questionnaire.rb +530 -530
  130. data/lib/groupdocs/questionnaire/collector.rb +335 -335
  131. data/lib/groupdocs/questionnaire/execution.rb +181 -181
  132. data/lib/groupdocs/questionnaire/page.rb +43 -43
  133. data/lib/groupdocs/questionnaire/question.rb +108 -108
  134. data/lib/groupdocs/questionnaire/question/answer.rb +15 -15
  135. data/lib/groupdocs/signature.rb +380 -380
  136. data/lib/groupdocs/signature/contact.rb +181 -181
  137. data/lib/groupdocs/signature/envelope.rb +747 -747
  138. data/lib/groupdocs/signature/envelope/log.rb +20 -20
  139. data/lib/groupdocs/signature/field.rb +286 -286
  140. data/lib/groupdocs/signature/field/location.rb +71 -71
  141. data/lib/groupdocs/signature/form.rb +804 -804
  142. data/lib/groupdocs/signature/list.rb +92 -92
  143. data/lib/groupdocs/signature/recipient.rb +79 -79
  144. data/lib/groupdocs/signature/role.rb +54 -54
  145. data/lib/groupdocs/signature/shared.rb +6 -6
  146. data/lib/groupdocs/signature/shared/document_methods.rb +158 -158
  147. data/lib/groupdocs/signature/shared/entity_fields.rb +76 -76
  148. data/lib/groupdocs/signature/shared/entity_methods.rb +144 -144
  149. data/lib/groupdocs/signature/shared/field_methods.rb +354 -354
  150. data/lib/groupdocs/signature/shared/recipient_methods.rb +75 -75
  151. data/lib/groupdocs/signature/shared/resource_methods.rb +65 -65
  152. data/lib/groupdocs/signature/template.rb +124 -124
  153. data/lib/groupdocs/storage.rb +44 -44
  154. data/lib/groupdocs/storage/file.rb +432 -432
  155. data/lib/groupdocs/storage/folder.rb +288 -288
  156. data/lib/groupdocs/storage/package.rb +48 -48
  157. data/lib/groupdocs/storage/provider.rb +32 -32
  158. data/lib/groupdocs/subscription.rb +323 -323
  159. data/lib/groupdocs/subscription/limit.rb +20 -20
  160. data/lib/groupdocs/user.rb +955 -930
  161. data/lib/groupdocs/version.rb +3 -3
  162. data/spec/groupdocs/api/entity_spec.rb +55 -55
  163. data/spec/groupdocs/api/helpers/access_mode_helper_spec.rb +21 -21
  164. data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +43 -43
  165. data/spec/groupdocs/api/helpers/accessor_helper_spec.rb +16 -16
  166. data/spec/groupdocs/api/helpers/byte_flag_helper_spec.rb +23 -23
  167. data/spec/groupdocs/api/helpers/credentials_helpers_spec.rb +48 -48
  168. data/spec/groupdocs/api/helpers/mime_helper_spec.rb +16 -16
  169. data/spec/groupdocs/api/helpers/path_helper_spec.rb +15 -15
  170. data/spec/groupdocs/api/helpers/rest_helper_spec.rb +161 -161
  171. data/spec/groupdocs/api/helpers/signature_public_helper_spec.rb +21 -21
  172. data/spec/groupdocs/api/helpers/status_helper_spec.rb +22 -22
  173. data/spec/groupdocs/api/helpers/url_helper_spec.rb +112 -112
  174. data/spec/groupdocs/api/request_spec.rb +112 -112
  175. data/spec/groupdocs/datasource/field_spec.rb +29 -29
  176. data/spec/groupdocs/datasource_spec.rb +145 -145
  177. data/spec/groupdocs/document/annotation/reply_spec.rb +154 -154
  178. data/spec/groupdocs/document/annotation/reviewer_spec.rb +51 -51
  179. data/spec/groupdocs/document/annotation_spec.rb +234 -234
  180. data/spec/groupdocs/document/change_spec.rb +39 -39
  181. data/spec/groupdocs/document/field_spec.rb +28 -28
  182. data/spec/groupdocs/document/metadata_spec.rb +21 -21
  183. data/spec/groupdocs/document/rectangle_spec.rb +14 -14
  184. data/spec/groupdocs/document/view_spec.rb +33 -33
  185. data/spec/groupdocs/document_spec.rb +859 -859
  186. data/spec/groupdocs/errors_spec.rb +7 -7
  187. data/spec/groupdocs/job_spec.rb +323 -323
  188. data/spec/groupdocs/questionnaire/collector_spec.rb +197 -197
  189. data/spec/groupdocs/questionnaire/execution_spec.rb +162 -162
  190. data/spec/groupdocs/questionnaire/page_spec.rb +47 -47
  191. data/spec/groupdocs/questionnaire/question/answer_spec.rb +9 -9
  192. data/spec/groupdocs/questionnaire/question_spec.rb +75 -75
  193. data/spec/groupdocs/questionnaire_spec.rb +295 -295
  194. data/spec/groupdocs/signature/contact_spec.rb +142 -142
  195. data/spec/groupdocs/signature/envelope/log_spec.rb +15 -15
  196. data/spec/groupdocs/signature/envelope_spec.rb +384 -384
  197. data/spec/groupdocs/signature/field/location_spec.rb +40 -40
  198. data/spec/groupdocs/signature/field_spec.rb +235 -235
  199. data/spec/groupdocs/signature/form_spec.rb +205 -205
  200. data/spec/groupdocs/signature/list_spec.rb +87 -87
  201. data/spec/groupdocs/signature/recipient_spec.rb +26 -26
  202. data/spec/groupdocs/signature/role_spec.rb +47 -47
  203. data/spec/groupdocs/signature/template_spec.rb +80 -80
  204. data/spec/groupdocs/signature_spec.rb +194 -194
  205. data/spec/groupdocs/storage/file_spec.rb +303 -303
  206. data/spec/groupdocs/storage/folder_spec.rb +270 -270
  207. data/spec/groupdocs/storage/package_spec.rb +38 -38
  208. data/spec/groupdocs/storage/provider_spec.rb +21 -21
  209. data/spec/groupdocs/storage_spec.rb +27 -27
  210. data/spec/groupdocs/subscription/limit_spec.rb +16 -16
  211. data/spec/groupdocs/subscription_spec.rb +74 -74
  212. data/spec/groupdocs/user_spec.rb +257 -257
  213. data/spec/groupdocs_spec.rb +63 -63
  214. data/spec/spec_helper.rb +73 -73
  215. data/spec/support/json/annotation_access_set.json +11 -11
  216. data/spec/support/json/annotation_collaborators_get.json +16 -16
  217. data/spec/support/json/annotation_collaborators_set.json +16 -16
  218. data/spec/support/json/annotation_create.json +12 -12
  219. data/spec/support/json/annotation_list.json +32 -32
  220. data/spec/support/json/annotation_marker_move.json +10 -10
  221. data/spec/support/json/annotation_move.json +8 -8
  222. data/spec/support/json/annotation_remove.json +9 -9
  223. data/spec/support/json/annotation_replies_create.json +9 -9
  224. data/spec/support/json/annotation_replies_get.json +25 -25
  225. data/spec/support/json/annotation_reviewers_get.json +18 -18
  226. data/spec/support/json/comparison_changes.json +46 -46
  227. data/spec/support/json/comparison_compare.json +8 -8
  228. data/spec/support/json/comparison_document.json +10 -10
  229. data/spec/support/json/contact_add.json +12 -12
  230. data/spec/support/json/contacts_get.json +19 -19
  231. data/spec/support/json/contacts_import.json +8 -8
  232. data/spec/support/json/datasource_add.json +8 -8
  233. data/spec/support/json/datasource_get.json +22 -22
  234. data/spec/support/json/datasource_remove.json +8 -8
  235. data/spec/support/json/datasource_update.json +8 -8
  236. data/spec/support/json/delete_account.json +9 -9
  237. data/spec/support/json/document_access_info_get.json +14 -14
  238. data/spec/support/json/document_convert.json +8 -8
  239. data/spec/support/json/document_datasource.json +10 -10
  240. data/spec/support/json/document_fields.json +34 -34
  241. data/spec/support/json/document_formats.json +8 -8
  242. data/spec/support/json/document_metadata.json +15 -15
  243. data/spec/support/json/document_page_images_get.json +20 -20
  244. data/spec/support/json/document_questionnaire_create.json +9 -9
  245. data/spec/support/json/document_questionnaires.json +23 -23
  246. data/spec/support/json/document_sharers_remove.json +8 -8
  247. data/spec/support/json/document_sharers_set.json +16 -16
  248. data/spec/support/json/document_thumbnails.json +24 -24
  249. data/spec/support/json/document_views.json +32 -32
  250. data/spec/support/json/envelope_get.json +46 -46
  251. data/spec/support/json/envelope_logs.json +16 -16
  252. data/spec/support/json/envelope_recipient_add.json +26 -26
  253. data/spec/support/json/envelopes_all.json +48 -48
  254. data/spec/support/json/envelopes_resources.json +31 -31
  255. data/spec/support/json/file_compress.json +8 -8
  256. data/spec/support/json/file_copy.json +14 -14
  257. data/spec/support/json/file_delete.json +5 -5
  258. data/spec/support/json/file_move.json +14 -14
  259. data/spec/support/json/file_upload.json +8 -8
  260. data/spec/support/json/folder_create.json +8 -8
  261. data/spec/support/json/folder_delete.json +5 -5
  262. data/spec/support/json/folder_list.json +22 -22
  263. data/spec/support/json/folder_move.json +8 -8
  264. data/spec/support/json/folder_sharers_get.json +16 -16
  265. data/spec/support/json/folder_sharers_remove.json +8 -8
  266. data/spec/support/json/folder_sharers_set.json +16 -16
  267. data/spec/support/json/form_get.json +21 -21
  268. data/spec/support/json/forms_all.json +23 -23
  269. data/spec/support/json/job_add_url.json +8 -8
  270. data/spec/support/json/job_create.json +8 -8
  271. data/spec/support/json/job_documents.json +40 -40
  272. data/spec/support/json/job_file_add.json +8 -8
  273. data/spec/support/json/job_get.json +30 -30
  274. data/spec/support/json/job_update.json +7 -7
  275. data/spec/support/json/jobs_get.json +58 -58
  276. data/spec/support/json/list_add.json +12 -12
  277. data/spec/support/json/lists_get.json +19 -19
  278. data/spec/support/json/package_create.json +7 -7
  279. data/spec/support/json/questionnaire_collector.json +17 -17
  280. data/spec/support/json/questionnaire_collectors.json +38 -38
  281. data/spec/support/json/questionnaire_collectors_add.json +10 -10
  282. data/spec/support/json/questionnaire_create.json +10 -10
  283. data/spec/support/json/questionnaire_datasources.json +26 -26
  284. data/spec/support/json/questionnaire_execution_add.json +9 -9
  285. data/spec/support/json/questionnaire_execution_status_set.json +8 -8
  286. data/spec/support/json/questionnaire_execution_update.json +8 -8
  287. data/spec/support/json/questionnaire_executions.json +28 -28
  288. data/spec/support/json/questionnaire_get.json +17 -17
  289. data/spec/support/json/questionnaire_remove.json +8 -8
  290. data/spec/support/json/questionnaire_update.json +8 -8
  291. data/spec/support/json/questionnaires_get.json +40 -40
  292. data/spec/support/json/sign_documents.json +16 -16
  293. data/spec/support/json/signature_create.json +12 -12
  294. data/spec/support/json/signature_field_add.json +25 -25
  295. data/spec/support/json/signature_fields_get.json +27 -27
  296. data/spec/support/json/signature_roles_get.json +17 -17
  297. data/spec/support/json/signatures_get.json +19 -19
  298. data/spec/support/json/storage_info.json +10 -10
  299. data/spec/support/json/subscription_plan_get.json +9 -9
  300. data/spec/support/json/subscription_plans_get.json +17 -17
  301. data/spec/support/json/template_get.json +35 -35
  302. data/spec/support/json/template_get_documents.json +15 -15
  303. data/spec/support/json/template_get_recipients.json +20 -20
  304. data/spec/support/json/templates_all.json +37 -37
  305. data/spec/support/json/templates_get.json +21 -21
  306. data/spec/support/json/update_account.json +10 -10
  307. data/spec/support/json/user_area.json +67 -67
  308. data/spec/support/json/user_embed_key.json +38 -38
  309. data/spec/support/json/user_get_embed_key.json +67 -67
  310. data/spec/support/json/user_login.json +67 -67
  311. data/spec/support/json/user_profile_get.json +24 -24
  312. data/spec/support/json/user_providers.json +31 -31
  313. data/spec/support/json/user_roles.json +25 -25
  314. data/spec/support/json/user_users_get.json +27 -27
  315. data/spec/support/shared_examples/api/entity.rb +39 -39
  316. data/spec/support/shared_examples/api/helpers/access_mode_helper.rb +11 -11
  317. data/spec/support/shared_examples/api/helpers/status_helper.rb +11 -11
  318. data/spec/support/shared_examples/signature/shared/document_methods.rb +68 -68
  319. data/spec/support/shared_examples/signature/shared/entity_fields.rb +56 -56
  320. data/spec/support/shared_examples/signature/shared/entity_methods.rb +116 -116
  321. data/spec/support/shared_examples/signature/shared/field_methods.rb +220 -220
  322. data/spec/support/shared_examples/signature/shared/recipient_methods.rb +46 -46
  323. data/spec/support/shared_examples/signature/shared/resource_methods.rb +46 -46
  324. metadata +35 -55
@@ -1,197 +1,197 @@
1
- require 'spec_helper'
2
-
3
- describe GroupDocs::Questionnaire::Collector do
4
-
5
- it_behaves_like GroupDocs::Api::Entity
6
- include_examples GroupDocs::Api::Helpers::Status
7
-
8
- subject do
9
- questionnaire = GroupDocs::Questionnaire.new
10
- described_class.new(:questionnaire => questionnaire)
11
- end
12
-
13
- describe '.get!' do
14
- before(:each) do
15
- mock_api_server(load_json('questionnaire_collector'))
16
- end
17
-
18
- it 'accepts access credentials hash' do
19
- lambda do
20
- described_class.get!('9fh349hfdskf', :client_id => 'client_id', :private_key => 'private_key')
21
- end.should_not raise_error()
22
- end
23
-
24
- it 'returns GroupDocs::Questionnaire::Collector object' do
25
- described_class.get!('9fh349hfdskf').should be_a(GroupDocs::Questionnaire::Collector)
26
- end
27
- end
28
-
29
- it { should have_accessor(:id) }
30
- it { should have_accessor(:guid) }
31
- it { should have_accessor(:questionnaire) }
32
- it { should have_accessor(:questionnaire_id) }
33
- it { should have_accessor(:type) }
34
- it { should have_accessor(:resolved_executions) }
35
- it { should have_accessor(:emails) }
36
- it { should have_accessor(:modified) }
37
-
38
- describe '#initialize' do
39
- it 'raises error if questionnaire is not specified' do
40
- lambda { described_class.new }.should raise_error(ArgumentError)
41
- end
42
-
43
- it 'raises error if questionnaire is not an instance of GroupDocs::Questionnaire' do
44
- lambda { described_class.new(:questionnaire => '') }.should raise_error(ArgumentError)
45
- end
46
- end
47
-
48
- describe '#type=' do
49
- it 'saves type in machine readable format if symbol is passed' do
50
- subject.type = :binary
51
- subject.instance_variable_get(:@type).should == 'Binary'
52
- end
53
-
54
- it 'does nothing if parameter is not symbol' do
55
- subject.type = 'Binary'
56
- subject.instance_variable_get(:@type).should == 'Binary'
57
- end
58
- end
59
-
60
- describe '#type' do
61
- it 'returns converted to human-readable format type' do
62
- subject.should_receive(:parse_status).with('Embedded').and_return(:embedded)
63
- subject.type = 'Embedded'
64
- subject.type.should == :embedded
65
- end
66
- end
67
-
68
- describe '#modified' do
69
- it 'returns converted to Time object Unix timestamp' do
70
- subject.modified = 1330450135000
71
- subject.modified.should == Time.at(1330450135)
72
- end
73
- end
74
-
75
- describe '#add!' do
76
- before(:each) do
77
- mock_api_server(load_json('questionnaire_collectors_add'))
78
- subject.questionnaire = GroupDocs::Questionnaire.new
79
- end
80
-
81
- it 'accepts access credentials hash' do
82
- lambda do
83
- subject.add!(:client_id => 'client_id', :private_key => 'private_key')
84
- end.should_not raise_error()
85
- end
86
-
87
- it 'updates id and guid with response' do
88
- lambda do
89
- subject.add!
90
- end.should change {
91
- subject.id
92
- subject.guid
93
- }
94
- end
95
- end
96
-
97
- describe '#update!' do
98
- before(:each) do
99
- mock_api_server('{ "status": "Ok", "result": { "collector_id": 123456 }}')
100
- end
101
-
102
- it 'accepts access credentials hash' do
103
- lambda do
104
- subject.update!(:client_id => 'client_id', :private_key => 'private_key')
105
- end.should_not raise_error()
106
- end
107
- end
108
-
109
- describe '#remove!' do
110
- before(:each) do
111
- mock_api_server('{ "status": "Ok", "result": {}}')
112
- end
113
-
114
- it 'accepts access credentials hash' do
115
- lambda do
116
- subject.remove!(:client_id => 'client_id', :private_key => 'private_key')
117
- end.should_not raise_error()
118
- end
119
- end
120
-
121
- describe '#executions!' do
122
- before(:each) do
123
- mock_api_server(load_json('questionnaire_executions'))
124
- end
125
-
126
- it 'accepts access credentials hash' do
127
- lambda do
128
- subject.executions!(:client_id => 'client_id', :private_key => 'private_key')
129
- end.should_not raise_error()
130
- end
131
-
132
- it 'returns an array of GroupDocs::Questionnaire::Execution objects' do
133
- executions = subject.executions!
134
- executions.should be_an(Array)
135
- executions.each do |execution|
136
- execution.should be_a(GroupDocs::Questionnaire::Execution)
137
- end
138
- end
139
- end
140
-
141
- describe '#add_execution!' do
142
- before(:each) do
143
- mock_api_server(load_json('questionnaire_execution_add'))
144
- end
145
-
146
- let(:execution) { GroupDocs::Questionnaire::Execution.new }
147
-
148
- it 'accepts access credentials hash' do
149
- lambda do
150
- subject.add_execution!(execution, :client_id => 'client_id', :private_key => 'private_key')
151
- end.should_not raise_error()
152
- end
153
-
154
- it 'raises error if execution is not GroupDocs::Questionnaire::Execution object' do
155
- lambda { subject.add_execution!('Execution') }.should raise_error(ArgumentError)
156
- end
157
-
158
- it 'uses hashed version of execution along with executive payload' do
159
- execution.should_receive(:to_hash)
160
- subject.add_execution!(execution)
161
- end
162
-
163
- it 'returns GroupDocs::Questionnaire::Execution object' do
164
- subject.add_execution!(execution).should be_a(GroupDocs::Questionnaire::Execution)
165
- end
166
- end
167
-
168
- describe '#fill!' do
169
- before(:each) do
170
- mock_api_server(load_json('document_datasource'))
171
- end
172
-
173
- let(:datasource) do
174
- GroupDocs::DataSource.new(:id => 1)
175
- end
176
-
177
- it 'accepts access credentials hash' do
178
- lambda do
179
- subject.fill!(datasource, {}, :client_id => 'client_id', :private_key => 'private_key')
180
- end.should_not raise_error()
181
- end
182
-
183
- it 'accepts options hash' do
184
- lambda do
185
- subject.fill!(datasource, :new_type => :pdf)
186
- end.should_not raise_error()
187
- end
188
-
189
- it 'raises error if datasource is not GroupDocs::Datasource object' do
190
- lambda { subject.fill!('Datasource') }.should raise_error(ArgumentError)
191
- end
192
-
193
- it 'returns GroupDocs::Job object' do
194
- subject.fill!(datasource).should be_a(GroupDocs::Job)
195
- end
196
- end
197
- end
1
+ require 'spec_helper'
2
+
3
+ describe GroupDocs::Questionnaire::Collector do
4
+
5
+ it_behaves_like GroupDocs::Api::Entity
6
+ include_examples GroupDocs::Api::Helpers::Status
7
+
8
+ subject do
9
+ questionnaire = GroupDocs::Questionnaire.new
10
+ described_class.new(:questionnaire => questionnaire)
11
+ end
12
+
13
+ describe '.get!' do
14
+ before(:each) do
15
+ mock_api_server(load_json('questionnaire_collector'))
16
+ end
17
+
18
+ it 'accepts access credentials hash' do
19
+ lambda do
20
+ described_class.get!('9fh349hfdskf', :client_id => 'client_id', :private_key => 'private_key')
21
+ end.should_not raise_error()
22
+ end
23
+
24
+ it 'returns GroupDocs::Questionnaire::Collector object' do
25
+ described_class.get!('9fh349hfdskf').should be_a(GroupDocs::Questionnaire::Collector)
26
+ end
27
+ end
28
+
29
+ it { should have_accessor(:id) }
30
+ it { should have_accessor(:guid) }
31
+ it { should have_accessor(:questionnaire) }
32
+ it { should have_accessor(:questionnaire_id) }
33
+ it { should have_accessor(:type) }
34
+ it { should have_accessor(:resolved_executions) }
35
+ it { should have_accessor(:emails) }
36
+ it { should have_accessor(:modified) }
37
+
38
+ describe '#initialize' do
39
+ it 'raises error if questionnaire is not specified' do
40
+ lambda { described_class.new }.should raise_error(ArgumentError)
41
+ end
42
+
43
+ it 'raises error if questionnaire is not an instance of GroupDocs::Questionnaire' do
44
+ lambda { described_class.new(:questionnaire => '') }.should raise_error(ArgumentError)
45
+ end
46
+ end
47
+
48
+ describe '#type=' do
49
+ it 'saves type in machine readable format if symbol is passed' do
50
+ subject.type = :binary
51
+ subject.instance_variable_get(:@type).should == 'Binary'
52
+ end
53
+
54
+ it 'does nothing if parameter is not symbol' do
55
+ subject.type = 'Binary'
56
+ subject.instance_variable_get(:@type).should == 'Binary'
57
+ end
58
+ end
59
+
60
+ describe '#type' do
61
+ it 'returns converted to human-readable format type' do
62
+ subject.should_receive(:parse_status).with('Embedded').and_return(:embedded)
63
+ subject.type = 'Embedded'
64
+ subject.type.should == :embedded
65
+ end
66
+ end
67
+
68
+ describe '#modified' do
69
+ it 'returns converted to Time object Unix timestamp' do
70
+ subject.modified = 1330450135000
71
+ subject.modified.should == Time.at(1330450135)
72
+ end
73
+ end
74
+
75
+ describe '#add!' do
76
+ before(:each) do
77
+ mock_api_server(load_json('questionnaire_collectors_add'))
78
+ subject.questionnaire = GroupDocs::Questionnaire.new
79
+ end
80
+
81
+ it 'accepts access credentials hash' do
82
+ lambda do
83
+ subject.add!(:client_id => 'client_id', :private_key => 'private_key')
84
+ end.should_not raise_error()
85
+ end
86
+
87
+ it 'updates id and guid with response' do
88
+ lambda do
89
+ subject.add!
90
+ end.should change {
91
+ subject.id
92
+ subject.guid
93
+ }
94
+ end
95
+ end
96
+
97
+ describe '#update!' do
98
+ before(:each) do
99
+ mock_api_server('{ "status": "Ok", "result": { "collector_id": 123456 }}')
100
+ end
101
+
102
+ it 'accepts access credentials hash' do
103
+ lambda do
104
+ subject.update!(:client_id => 'client_id', :private_key => 'private_key')
105
+ end.should_not raise_error()
106
+ end
107
+ end
108
+
109
+ describe '#remove!' do
110
+ before(:each) do
111
+ mock_api_server('{ "status": "Ok", "result": {}}')
112
+ end
113
+
114
+ it 'accepts access credentials hash' do
115
+ lambda do
116
+ subject.remove!(:client_id => 'client_id', :private_key => 'private_key')
117
+ end.should_not raise_error()
118
+ end
119
+ end
120
+
121
+ describe '#executions!' do
122
+ before(:each) do
123
+ mock_api_server(load_json('questionnaire_executions'))
124
+ end
125
+
126
+ it 'accepts access credentials hash' do
127
+ lambda do
128
+ subject.executions!(:client_id => 'client_id', :private_key => 'private_key')
129
+ end.should_not raise_error()
130
+ end
131
+
132
+ it 'returns an array of GroupDocs::Questionnaire::Execution objects' do
133
+ executions = subject.executions!
134
+ executions.should be_an(Array)
135
+ executions.each do |execution|
136
+ execution.should be_a(GroupDocs::Questionnaire::Execution)
137
+ end
138
+ end
139
+ end
140
+
141
+ describe '#add_execution!' do
142
+ before(:each) do
143
+ mock_api_server(load_json('questionnaire_execution_add'))
144
+ end
145
+
146
+ let(:execution) { GroupDocs::Questionnaire::Execution.new }
147
+
148
+ it 'accepts access credentials hash' do
149
+ lambda do
150
+ subject.add_execution!(execution, :client_id => 'client_id', :private_key => 'private_key')
151
+ end.should_not raise_error()
152
+ end
153
+
154
+ it 'raises error if execution is not GroupDocs::Questionnaire::Execution object' do
155
+ lambda { subject.add_execution!('Execution') }.should raise_error(ArgumentError)
156
+ end
157
+
158
+ it 'uses hashed version of execution along with executive payload' do
159
+ execution.should_receive(:to_hash)
160
+ subject.add_execution!(execution)
161
+ end
162
+
163
+ it 'returns GroupDocs::Questionnaire::Execution object' do
164
+ subject.add_execution!(execution).should be_a(GroupDocs::Questionnaire::Execution)
165
+ end
166
+ end
167
+
168
+ describe '#fill!' do
169
+ before(:each) do
170
+ mock_api_server(load_json('document_datasource'))
171
+ end
172
+
173
+ let(:datasource) do
174
+ GroupDocs::DataSource.new(:id => 1)
175
+ end
176
+
177
+ it 'accepts access credentials hash' do
178
+ lambda do
179
+ subject.fill!(datasource, {}, :client_id => 'client_id', :private_key => 'private_key')
180
+ end.should_not raise_error()
181
+ end
182
+
183
+ it 'accepts options hash' do
184
+ lambda do
185
+ subject.fill!(datasource, :new_type => :pdf)
186
+ end.should_not raise_error()
187
+ end
188
+
189
+ it 'raises error if datasource is not GroupDocs::Datasource object' do
190
+ lambda { subject.fill!('Datasource') }.should raise_error(ArgumentError)
191
+ end
192
+
193
+ it 'returns GroupDocs::Job object' do
194
+ subject.fill!(datasource).should be_a(GroupDocs::Job)
195
+ end
196
+ end
197
+ end
@@ -1,162 +1,162 @@
1
- require 'spec_helper'
2
-
3
- describe GroupDocs::Questionnaire::Execution do
4
-
5
- it_behaves_like GroupDocs::Api::Entity
6
- include_examples GroupDocs::Api::Helpers::Status
7
-
8
- describe '.get!' do
9
- before(:each) do
10
- mock_api_server(load_json('questionnaire_get'))
11
- end
12
-
13
- it 'accepts access credentials hash' do
14
- lambda do
15
- described_class.get!('45dsfh9348uf0fj834y92h', :client_id => 'client_id', :private_key => 'private_key')
16
- end.should_not raise_error()
17
- end
18
-
19
- it 'returns GroupDocs::Questionnaire::Execution object' do
20
- described_class.get!('45dsfh9348uf0fj834y92h').should be_a(GroupDocs::Questionnaire::Execution)
21
- end
22
-
23
- it 'returns nil if BadResponseError was raised' do
24
- GroupDocs::Api::Request.any_instance.should_receive(:execute!).and_raise(GroupDocs::BadResponseError)
25
- described_class.get!('45dsfh9348uf0fj834y92h').should be_nil
26
- end
27
- end
28
-
29
- it { should have_accessor(:id) }
30
- it { should have_accessor(:guid) }
31
- it { should have_accessor(:collector_id) }
32
- it { should have_accessor(:collector_guid) }
33
- it { should have_accessor(:questionnaire_name) }
34
- it { should have_accessor(:owner) }
35
- it { should have_accessor(:executive) }
36
- it { should have_accessor(:approver) }
37
- it { should have_accessor(:datasource_id) }
38
- it { should have_accessor(:modified) }
39
- it { should have_accessor(:document) }
40
-
41
- %w(owner executive approver).each do |method|
42
- describe "##{method}=" do
43
- it 'converts passed hash to GroupDocs::User object' do
44
- subject.send(:"#{method}=", { :first_name => 'Test' })
45
- user = subject.send(:"#{method}")
46
- user.should be_a(GroupDocs::User)
47
- user.first_name.should == 'Test'
48
- end
49
-
50
- it 'does nothing if GroupDocs::User is passed' do
51
- subject.send(:"#{method}=", GroupDocs::User.new(:first_name => 'Test'))
52
- subject.send(:"#{method}").first_name.should == 'Test'
53
- end
54
- end
55
- end
56
-
57
- describe '#modified' do
58
- it 'returns converted to Time object Unix timestamp' do
59
- subject.modified = 1330450135000
60
- subject.modified.should == Time.at(1330450135)
61
- end
62
- end
63
-
64
- describe "#document=" do
65
- it 'converts passed hash to GroupDocs::Storage::File object' do
66
- subject.document = { :id => 123 }
67
- subject.document.should be_a(GroupDocs::Storage::File)
68
- end
69
-
70
- it 'gets file from passed GroupDocs::Document' do
71
- document = GroupDocs::Document.new(:file => GroupDocs::Storage::File.new)
72
- subject.document = document
73
- subject.document.should == document.file
74
- end
75
-
76
- it 'does nothing if nil is passed' do
77
- subject.document = nil
78
- subject.document.should be_nil
79
- end
80
- end
81
-
82
- describe '#set_status!' do
83
- before(:each) do
84
- mock_api_server(load_json('questionnaire_execution_status_set'))
85
- end
86
-
87
- it 'accepts access credentials hash' do
88
- lambda do
89
- subject.set_status!(:submitted, :client_id => 'client_id', :private_key => 'private_key')
90
- end.should_not raise_error()
91
- end
92
-
93
- it 'parses status' do
94
- subject.should_receive(:parse_status).with(:submitted).and_return('Submitted')
95
- subject.set_status!(:submitted)
96
- end
97
-
98
- it 'updates status of execution object' do
99
- subject.set_status!(:submitted)
100
- subject.status.should == :submitted
101
- end
102
- end
103
-
104
- describe '#update!' do
105
- before(:each) do
106
- mock_api_server(load_json('questionnaire_execution_update'))
107
- end
108
-
109
- it 'accepts access credentials hash' do
110
- lambda do
111
- subject.update!(:client_id => 'client_id', :private_key => 'private_key')
112
- end.should_not raise_error()
113
- end
114
-
115
- it 'uses hashed version of self as request body' do
116
- subject.should_receive(:to_hash).and_return({})
117
- subject.update!
118
- end
119
- end
120
-
121
- describe '#delete!' do
122
- before(:each) do
123
- mock_api_server('{ "status": "Ok", "result": {}}')
124
- end
125
-
126
- it 'accepts access credentials hash' do
127
- lambda do
128
- subject.delete!(:client_id => 'client_id', :private_key => 'private_key')
129
- end.should_not raise_error()
130
- end
131
- end
132
-
133
- describe '#fill!' do
134
- before(:each) do
135
- mock_api_server(load_json('document_datasource'))
136
- end
137
-
138
- let(:datasource) do
139
- GroupDocs::DataSource.new(:id => 1)
140
- end
141
-
142
- it 'accepts access credentials hash' do
143
- lambda do
144
- subject.fill!(datasource, {}, :client_id => 'client_id', :private_key => 'private_key')
145
- end.should_not raise_error()
146
- end
147
-
148
- it 'accepts options hash' do
149
- lambda do
150
- subject.fill!(datasource, :new_type => :pdf)
151
- end.should_not raise_error()
152
- end
153
-
154
- it 'raises error if datasource is not GroupDocs::Datasource object' do
155
- lambda { subject.fill!('Datasource') }.should raise_error(ArgumentError)
156
- end
157
-
158
- it 'returns GroupDocs::Job object' do
159
- subject.fill!(datasource).should be_a(GroupDocs::Job)
160
- end
161
- end
162
- end
1
+ require 'spec_helper'
2
+
3
+ describe GroupDocs::Questionnaire::Execution do
4
+
5
+ it_behaves_like GroupDocs::Api::Entity
6
+ include_examples GroupDocs::Api::Helpers::Status
7
+
8
+ describe '.get!' do
9
+ before(:each) do
10
+ mock_api_server(load_json('questionnaire_get'))
11
+ end
12
+
13
+ it 'accepts access credentials hash' do
14
+ lambda do
15
+ described_class.get!('45dsfh9348uf0fj834y92h', :client_id => 'client_id', :private_key => 'private_key')
16
+ end.should_not raise_error()
17
+ end
18
+
19
+ it 'returns GroupDocs::Questionnaire::Execution object' do
20
+ described_class.get!('45dsfh9348uf0fj834y92h').should be_a(GroupDocs::Questionnaire::Execution)
21
+ end
22
+
23
+ it 'returns nil if BadResponseError was raised' do
24
+ GroupDocs::Api::Request.any_instance.should_receive(:execute!).and_raise(GroupDocs::BadResponseError)
25
+ described_class.get!('45dsfh9348uf0fj834y92h').should be_nil
26
+ end
27
+ end
28
+
29
+ it { should have_accessor(:id) }
30
+ it { should have_accessor(:guid) }
31
+ it { should have_accessor(:collector_id) }
32
+ it { should have_accessor(:collector_guid) }
33
+ it { should have_accessor(:questionnaire_name) }
34
+ it { should have_accessor(:owner) }
35
+ it { should have_accessor(:executive) }
36
+ it { should have_accessor(:approver) }
37
+ it { should have_accessor(:datasource_id) }
38
+ it { should have_accessor(:modified) }
39
+ it { should have_accessor(:document) }
40
+
41
+ %w(owner executive approver).each do |method|
42
+ describe "##{method}=" do
43
+ it 'converts passed hash to GroupDocs::User object' do
44
+ subject.send(:"#{method}=", { :first_name => 'Test' })
45
+ user = subject.send(:"#{method}")
46
+ user.should be_a(GroupDocs::User)
47
+ user.first_name.should == 'Test'
48
+ end
49
+
50
+ it 'does nothing if GroupDocs::User is passed' do
51
+ subject.send(:"#{method}=", GroupDocs::User.new(:first_name => 'Test'))
52
+ subject.send(:"#{method}").first_name.should == 'Test'
53
+ end
54
+ end
55
+ end
56
+
57
+ describe '#modified' do
58
+ it 'returns converted to Time object Unix timestamp' do
59
+ subject.modified = 1330450135000
60
+ subject.modified.should == Time.at(1330450135)
61
+ end
62
+ end
63
+
64
+ describe "#document=" do
65
+ it 'converts passed hash to GroupDocs::Storage::File object' do
66
+ subject.document = { :id => 123 }
67
+ subject.document.should be_a(GroupDocs::Storage::File)
68
+ end
69
+
70
+ it 'gets file from passed GroupDocs::Document' do
71
+ document = GroupDocs::Document.new(:file => GroupDocs::Storage::File.new)
72
+ subject.document = document
73
+ subject.document.should == document.file
74
+ end
75
+
76
+ it 'does nothing if nil is passed' do
77
+ subject.document = nil
78
+ subject.document.should be_nil
79
+ end
80
+ end
81
+
82
+ describe '#set_status!' do
83
+ before(:each) do
84
+ mock_api_server(load_json('questionnaire_execution_status_set'))
85
+ end
86
+
87
+ it 'accepts access credentials hash' do
88
+ lambda do
89
+ subject.set_status!(:submitted, :client_id => 'client_id', :private_key => 'private_key')
90
+ end.should_not raise_error()
91
+ end
92
+
93
+ it 'parses status' do
94
+ subject.should_receive(:parse_status).with(:submitted).and_return('Submitted')
95
+ subject.set_status!(:submitted)
96
+ end
97
+
98
+ it 'updates status of execution object' do
99
+ subject.set_status!(:submitted)
100
+ subject.status.should == :submitted
101
+ end
102
+ end
103
+
104
+ describe '#update!' do
105
+ before(:each) do
106
+ mock_api_server(load_json('questionnaire_execution_update'))
107
+ end
108
+
109
+ it 'accepts access credentials hash' do
110
+ lambda do
111
+ subject.update!(:client_id => 'client_id', :private_key => 'private_key')
112
+ end.should_not raise_error()
113
+ end
114
+
115
+ it 'uses hashed version of self as request body' do
116
+ subject.should_receive(:to_hash).and_return({})
117
+ subject.update!
118
+ end
119
+ end
120
+
121
+ describe '#delete!' do
122
+ before(:each) do
123
+ mock_api_server('{ "status": "Ok", "result": {}}')
124
+ end
125
+
126
+ it 'accepts access credentials hash' do
127
+ lambda do
128
+ subject.delete!(:client_id => 'client_id', :private_key => 'private_key')
129
+ end.should_not raise_error()
130
+ end
131
+ end
132
+
133
+ describe '#fill!' do
134
+ before(:each) do
135
+ mock_api_server(load_json('document_datasource'))
136
+ end
137
+
138
+ let(:datasource) do
139
+ GroupDocs::DataSource.new(:id => 1)
140
+ end
141
+
142
+ it 'accepts access credentials hash' do
143
+ lambda do
144
+ subject.fill!(datasource, {}, :client_id => 'client_id', :private_key => 'private_key')
145
+ end.should_not raise_error()
146
+ end
147
+
148
+ it 'accepts options hash' do
149
+ lambda do
150
+ subject.fill!(datasource, :new_type => :pdf)
151
+ end.should_not raise_error()
152
+ end
153
+
154
+ it 'raises error if datasource is not GroupDocs::Datasource object' do
155
+ lambda { subject.fill!('Datasource') }.should raise_error(ArgumentError)
156
+ end
157
+
158
+ it 'returns GroupDocs::Job object' do
159
+ subject.fill!(datasource).should be_a(GroupDocs::Job)
160
+ end
161
+ end
162
+ end