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,116 +1,116 @@
1
- shared_examples_for GroupDocs::Signature::EntityMethods do
2
-
3
- describe '.get!' do
4
- before(:each) do
5
- mock_api_server(load_json("#{subject.send(:class_name)}_get"))
6
- end
7
-
8
- it 'accepts access credentials hash' do
9
- lambda do
10
- described_class.get!("j5498fre9fje9f", :client_id => 'client_id', :private_key => 'private_key')
11
- end.should_not raise_error()
12
- end
13
-
14
- it "returns #{described_class} objects" do
15
- described_class.get!("j5498fre9fje9f").should be_a(described_class)
16
- end
17
- end
18
-
19
- # GroupDocs::Signature::Form overwrites #create! so we should not run default specs for it
20
- unless described_class == GroupDocs::Signature::Form
21
- describe '#create!' do
22
- before(:each) do
23
- mock_api_server(load_json("#{subject.send(:class_name)}_get"))
24
- end
25
-
26
- it 'accepts access credentials hash' do
27
- lambda do
28
- subject.create!({}, :client_id => 'client_id', :private_key => 'private_key')
29
- end.should_not raise_error()
30
- end
31
-
32
- it 'accepts options hash' do
33
- lambda do
34
- subject.create!(:template_id => 'aodfh43yr9834hf943h')
35
- end.should_not raise_error()
36
- end
37
-
38
- it 'uses hashed version of self as request body' do
39
- subject.should_receive(:to_hash)
40
- subject.create!
41
- end
42
-
43
- it 'updates identifier of entity' do
44
- lambda do
45
- subject.create!
46
- end.should change(subject, :id)
47
- end
48
- end
49
- end
50
-
51
- describe '#modify!' do
52
- before(:each) do
53
- mock_api_server(load_json("#{subject.send(:class_name)}_get"))
54
- end
55
-
56
- it 'accepts access credentials hash' do
57
- lambda do
58
- subject.modify!(:client_id => 'client_id', :private_key => 'private_key')
59
- end.should_not raise_error()
60
- end
61
-
62
- it 'uses hashed version of self as request body' do
63
- subject.should_receive(:to_hash)
64
- subject.modify!
65
- end
66
- end
67
-
68
- describe '#rename!' do
69
- before(:each) do
70
- mock_api_server(%({ "status": "Ok", "result": { "#{subject.send(:class_name)}": null }}))
71
- end
72
-
73
- it 'accepts access credentials hash' do
74
- lambda do
75
- subject.rename!('Name', :client_id => 'client_id', :private_key => 'private_key')
76
- end.should_not raise_error()
77
- end
78
-
79
- # alter params for form
80
- if described_class == GroupDocs::Signature::Form
81
- it 'uses new_name as parameter' do
82
- api = double(GroupDocs::Api::Request)
83
- api.stub(:execute! => {})
84
- GroupDocs::Api::Request.stub(:new => api)
85
- api.should_receive(:add_params).with(:new_name => 'Name')
86
- subject.rename!('Name')
87
- end
88
- else
89
- it 'uses name as parameter' do
90
- api = double(GroupDocs::Api::Request)
91
- api.stub(:execute! => {})
92
- GroupDocs::Api::Request.stub(:new => api)
93
- api.should_receive(:add_params).with(:name => 'Name')
94
- subject.rename!('Name')
95
- end
96
- end
97
-
98
- it 'updates name of template' do
99
- lambda do
100
- subject.rename!('Name')
101
- end.should change(subject, :name)
102
- end
103
- end
104
-
105
- describe '#delete!' do
106
- before(:each) do
107
- mock_api_server(%({ "status": "Ok", "result": { "#{subject.send(:class_name)}": null }}))
108
- end
109
-
110
- it 'accepts access credentials hash' do
111
- lambda do
112
- subject.delete!(:client_id => 'client_id', :private_key => 'private_key')
113
- end.should_not raise_error()
114
- end
115
- end
116
- end
1
+ shared_examples_for GroupDocs::Signature::EntityMethods do
2
+
3
+ describe '.get!' do
4
+ before(:each) do
5
+ mock_api_server(load_json("#{subject.send(:class_name)}_get"))
6
+ end
7
+
8
+ it 'accepts access credentials hash' do
9
+ lambda do
10
+ described_class.get!("j5498fre9fje9f", :client_id => 'client_id', :private_key => 'private_key')
11
+ end.should_not raise_error()
12
+ end
13
+
14
+ it "returns #{described_class} objects" do
15
+ described_class.get!("j5498fre9fje9f").should be_a(described_class)
16
+ end
17
+ end
18
+
19
+ # GroupDocs::Signature::Form overwrites #create! so we should not run default specs for it
20
+ unless described_class == GroupDocs::Signature::Form
21
+ describe '#create!' do
22
+ before(:each) do
23
+ mock_api_server(load_json("#{subject.send(:class_name)}_get"))
24
+ end
25
+
26
+ it 'accepts access credentials hash' do
27
+ lambda do
28
+ subject.create!({}, :client_id => 'client_id', :private_key => 'private_key')
29
+ end.should_not raise_error()
30
+ end
31
+
32
+ it 'accepts options hash' do
33
+ lambda do
34
+ subject.create!(:template_id => 'aodfh43yr9834hf943h')
35
+ end.should_not raise_error()
36
+ end
37
+
38
+ it 'uses hashed version of self as request body' do
39
+ subject.should_receive(:to_hash)
40
+ subject.create!
41
+ end
42
+
43
+ it 'updates identifier of entity' do
44
+ lambda do
45
+ subject.create!
46
+ end.should change(subject, :id)
47
+ end
48
+ end
49
+ end
50
+
51
+ describe '#modify!' do
52
+ before(:each) do
53
+ mock_api_server(load_json("#{subject.send(:class_name)}_get"))
54
+ end
55
+
56
+ it 'accepts access credentials hash' do
57
+ lambda do
58
+ subject.modify!(:client_id => 'client_id', :private_key => 'private_key')
59
+ end.should_not raise_error()
60
+ end
61
+
62
+ it 'uses hashed version of self as request body' do
63
+ subject.should_receive(:to_hash)
64
+ subject.modify!
65
+ end
66
+ end
67
+
68
+ describe '#rename!' do
69
+ before(:each) do
70
+ mock_api_server(%({ "status": "Ok", "result": { "#{subject.send(:class_name)}": null }}))
71
+ end
72
+
73
+ it 'accepts access credentials hash' do
74
+ lambda do
75
+ subject.rename!('Name', :client_id => 'client_id', :private_key => 'private_key')
76
+ end.should_not raise_error()
77
+ end
78
+
79
+ # alter params for form
80
+ if described_class == GroupDocs::Signature::Form
81
+ it 'uses new_name as parameter' do
82
+ api = double(GroupDocs::Api::Request)
83
+ api.stub(:execute! => {})
84
+ GroupDocs::Api::Request.stub(:new => api)
85
+ api.should_receive(:add_params).with(:new_name => 'Name')
86
+ subject.rename!('Name')
87
+ end
88
+ else
89
+ it 'uses name as parameter' do
90
+ api = double(GroupDocs::Api::Request)
91
+ api.stub(:execute! => {})
92
+ GroupDocs::Api::Request.stub(:new => api)
93
+ api.should_receive(:add_params).with(:name => 'Name')
94
+ subject.rename!('Name')
95
+ end
96
+ end
97
+
98
+ it 'updates name of template' do
99
+ lambda do
100
+ subject.rename!('Name')
101
+ end.should change(subject, :name)
102
+ end
103
+ end
104
+
105
+ describe '#delete!' do
106
+ before(:each) do
107
+ mock_api_server(%({ "status": "Ok", "result": { "#{subject.send(:class_name)}": null }}))
108
+ end
109
+
110
+ it 'accepts access credentials hash' do
111
+ lambda do
112
+ subject.delete!(:client_id => 'client_id', :private_key => 'private_key')
113
+ end.should_not raise_error()
114
+ end
115
+ end
116
+ end
@@ -1,220 +1,220 @@
1
- shared_examples_for GroupDocs::Signature::FieldMethods do
2
- let(:args) do
3
- case described_class.name
4
- when 'GroupDocs::Signature::Form'
5
- [document]
6
- when 'GroupDocs::Signature::Template', 'GroupDocs::Signature::Envelope'
7
- [document, recipient]
8
- end
9
- end
10
-
11
- describe '#fields!' do
12
- let(:document) { GroupDocs::Document.new(:file => GroupDocs::Storage::File.new) }
13
- let(:recipient) { GroupDocs::Signature::Recipient.new }
14
-
15
- before(:each) do
16
- mock_api_server(load_json('signature_fields_get'))
17
- end
18
-
19
- it 'accepts access credentials hash' do
20
- lambda do
21
- subject.fields!(document, recipient, {}, :client_id => 'client_id', :private_key => 'private_key')
22
- end.should_not raise_error()
23
- end
24
- end
25
-
26
- describe '#add_field!' do
27
- let(:field) { GroupDocs::Signature::Field.new(:location => { :location_x => 0.1, :page => 1 }) }
28
- let(:document) { GroupDocs::Document.new(:file => GroupDocs::Storage::File.new) }
29
- let(:recipient) { GroupDocs::Signature::Recipient.new }
30
-
31
- before(:each) do
32
- mock_api_server(load_json('signature_field_add'))
33
- end
34
-
35
- it 'accepts access credentials hash' do
36
- lambda do
37
- subject.add_field!(field, *args, { :force_new_field => false }, :client_id => 'client_id', :private_key => 'private_key')
38
- end.should_not raise_error()
39
- end
40
-
41
- it 'raises error if field is not GroupDocs::Signature::Field object' do
42
- lambda { subject.add_field!('Field', *args) }.should raise_error(ArgumentError)
43
- end
44
-
45
- it 'raises error if field does not specify location' do
46
- field = GroupDocs::Signature::Field.new
47
- lambda { subject.add_field!(field, *args) }.should raise_error(ArgumentError)
48
- end
49
-
50
- it 'uses field and field locationas payload' do
51
- hash_one = {}
52
- payload = {}
53
- location = {}
54
- field.should_receive(:to_hash).and_return(payload)
55
- field.location.should_receive(:to_hash).and_return(location)
56
- payload.should_receive(:merge!).with(location).and_return(payload)
57
- payload.should_receive(:merge!).with(:forceNewField => true).and_return({})
58
- subject.add_field!(field, *args)
59
- end
60
-
61
- it 'allows overriding force new field flag' do
62
- hash_one = {}
63
- payload = {}
64
- location = {}
65
- field.should_receive(:to_hash).and_return(payload)
66
- field.location.should_receive(:to_hash).and_return(location)
67
- payload.should_receive(:merge!).with(location).and_return(payload)
68
- payload.should_receive(:merge!).with(:forceNewField => false).and_return({})
69
- subject.add_field!(field, *args, :force_new_field => false)
70
- end
71
- end
72
-
73
- describe '#modify_field!' do
74
- let(:field) { GroupDocs::Signature::Field.new(:locations=>[GroupDocs::Signature::Field::Location.new]) }
75
- let(:document) { GroupDocs::Document.new(:file => GroupDocs::Storage::File.new) }
76
- let(:recipient) { GroupDocs::Signature::Recipient.new }
77
-
78
- before(:each) do
79
- mock_api_server(load_json('signature_field_add'))
80
- end
81
-
82
- it 'accepts access credentials hash' do
83
- lambda do
84
- subject.modify_field!(field, document, recipient, :client_id => 'client_id', :private_key => 'private_key')
85
- end.should_not raise_error()
86
- end
87
-
88
- it 'raises error if field is not GroupDocs::Signature::Field object' do
89
- lambda { subject.modify_field!('Field', document, recipient) }.should raise_error(ArgumentError)
90
- end
91
-
92
- it 'raises error if document is not GroupDocs::Document object' do
93
- lambda { subject.modify_field!(field, 'Document', recipient) }.should raise_error(ArgumentError)
94
- end
95
-
96
- it 'raises error if field is not GroupDocs::Signature::Recipient object' do
97
- lambda { subject.modify_field!(field, document, 'Recipient') }.should raise_error(ArgumentError)
98
- end
99
-
100
- it 'uses field and first field location as payload' do
101
- payload = {}
102
- location = {}
103
- locations = [location]
104
- field.should_receive(:to_hash).and_return(payload)
105
- payload.should_receive(:delete).with(:locations).and_return(payload)
106
- field.should_receive(:locations).and_return(locations)
107
- locations.should_receive(:first).and_return(location)
108
- payload.should_receive(:merge!).with(location).and_return(payload)
109
- subject.modify_field!(field, document, recipient)
110
- end
111
- end
112
-
113
- describe '#assign_field!' do
114
- case described_class.name
115
- when 'GroupDocs::Signature::Form'
116
- it 'does not have #assign_field! method' do
117
- subject.methods.should_not include(:assign_field!)
118
- end
119
- when 'GroupDocs::Signature::Template', 'GroupDocs::Signature::Envelope'
120
- let(:field) { GroupDocs::Signature::Field.new }
121
- let(:document) { GroupDocs::Document.new(:file => GroupDocs::Storage::File.new) }
122
- let(:assign_from) { GroupDocs::Signature::Recipient.new }
123
- let(:assign_to) { GroupDocs::Signature::Recipient.new }
124
-
125
- before(:each) do
126
- mock_api_server(load_json('signature_field_add'))
127
- end
128
-
129
- it 'accepts access credentials hash' do
130
- lambda do
131
- subject.assign_field!(field, document, assign_from, assign_to, :client_id => 'client_id', :private_key => 'private_key')
132
- end.should_not raise_error()
133
- end
134
-
135
- it 'raises error if field is not GroupDocs::Signature::Field object' do
136
- lambda { subject.assign_field!('Field', document, assign_from, assign_to) }.should raise_error(ArgumentError)
137
- end
138
-
139
- it 'raises error if document is not GroupDocs::Document object' do
140
- lambda { subject.assign_field!(field, 'Document', assign_from, assign_to) }.should raise_error(ArgumentError)
141
- end
142
-
143
- it 'raises error if assign from is not GroupDocs::Signature::Recipient object' do
144
- lambda { subject.assign_field!(field, document, 'Assign', assign_to) }.should raise_error(ArgumentError)
145
- end
146
-
147
- it 'raises error if assign to is not GroupDocs::Signature::Recipient object' do
148
- lambda { subject.assign_field!(field, document, assign_from, 'Assign') }.should raise_error(ArgumentError)
149
- end
150
- end
151
- end
152
-
153
- describe '#delete_field!' do
154
- let(:field) do
155
- GroupDocs::Signature::Field.new
156
- end
157
-
158
- before(:each) do
159
- mock_api_server('{ "status": "Ok", "result": {}}')
160
- end
161
-
162
- it 'raises error if field is not GroupDocs::Signature::Field object' do
163
- lambda { subject.delete_field!('Field') }.should raise_error(ArgumentError)
164
- end
165
-
166
- it 'accepts access credentials hash' do
167
- lambda do
168
- subject.delete_field!(field, :client_id => 'client_id', :private_key => 'private_key')
169
- end.should_not raise_error()
170
- end
171
- end
172
-
173
- describe '#modify_field_location!' do
174
- let(:field) { GroupDocs::Signature::Field.new }
175
- let(:document) { GroupDocs::Document.new(:file => GroupDocs::Storage::File.new) }
176
- let(:recipient) { GroupDocs::Signature::Recipient.new }
177
- let(:location) { GroupDocs::Signature::Field::Location.new }
178
-
179
- before(:each) do
180
- mock_api_server(load_json('signature_field_add'))
181
- end
182
-
183
- it 'raises error if location is not GroupDocs::Signature::Field::Location object' do
184
- lambda { subject.modify_field_location!('Location', field, *args) }.should raise_error(ArgumentError)
185
- end
186
-
187
- it 'raises error if field is not GroupDocs::Signature::Field object' do
188
- lambda { subject.modify_field_location!(location, 'Field', *args) }.should raise_error(ArgumentError)
189
- end
190
-
191
- it 'accepts access credentials hash' do
192
- lambda do
193
- subject.modify_field_location!(location, field, *args, :client_id => 'client_id', :private_key => 'private_key')
194
- end.should_not raise_error()
195
- end
196
- end
197
-
198
- describe '#delete_field_location!' do
199
- let(:field) { GroupDocs::Signature::Field.new }
200
- let(:location) { GroupDocs::Signature::Field::Location.new }
201
-
202
- before(:each) do
203
- mock_api_server('{ "status": "Ok", "result": {}}')
204
- end
205
-
206
- it 'raises error if location is not GroupDocs::Signature::Field::Location object' do
207
- lambda { subject.delete_field_location!('Location', field) }.should raise_error(ArgumentError)
208
- end
209
-
210
- it 'raises error if field is not GroupDocs::Signature::Field object' do
211
- lambda { subject.delete_field_location!(location, 'Field') }.should raise_error(ArgumentError)
212
- end
213
-
214
- it 'accepts access credentials hash' do
215
- lambda do
216
- subject.delete_field_location!(location, field, :client_id => 'client_id', :private_key => 'private_key')
217
- end.should_not raise_error()
218
- end
219
- end
220
- end
1
+ shared_examples_for GroupDocs::Signature::FieldMethods do
2
+ let(:args) do
3
+ case described_class.name
4
+ when 'GroupDocs::Signature::Form'
5
+ [document]
6
+ when 'GroupDocs::Signature::Template', 'GroupDocs::Signature::Envelope'
7
+ [document, recipient]
8
+ end
9
+ end
10
+
11
+ describe '#fields!' do
12
+ let(:document) { GroupDocs::Document.new(:file => GroupDocs::Storage::File.new) }
13
+ let(:recipient) { GroupDocs::Signature::Recipient.new }
14
+
15
+ before(:each) do
16
+ mock_api_server(load_json('signature_fields_get'))
17
+ end
18
+
19
+ it 'accepts access credentials hash' do
20
+ lambda do
21
+ subject.fields!(document, recipient, {}, :client_id => 'client_id', :private_key => 'private_key')
22
+ end.should_not raise_error()
23
+ end
24
+ end
25
+
26
+ describe '#add_field!' do
27
+ let(:field) { GroupDocs::Signature::Field.new(:location => { :location_x => 0.1, :page => 1 }) }
28
+ let(:document) { GroupDocs::Document.new(:file => GroupDocs::Storage::File.new) }
29
+ let(:recipient) { GroupDocs::Signature::Recipient.new }
30
+
31
+ before(:each) do
32
+ mock_api_server(load_json('signature_field_add'))
33
+ end
34
+
35
+ it 'accepts access credentials hash' do
36
+ lambda do
37
+ subject.add_field!(field, *args, { :force_new_field => false }, :client_id => 'client_id', :private_key => 'private_key')
38
+ end.should_not raise_error()
39
+ end
40
+
41
+ it 'raises error if field is not GroupDocs::Signature::Field object' do
42
+ lambda { subject.add_field!('Field', *args) }.should raise_error(ArgumentError)
43
+ end
44
+
45
+ it 'raises error if field does not specify location' do
46
+ field = GroupDocs::Signature::Field.new
47
+ lambda { subject.add_field!(field, *args) }.should raise_error(ArgumentError)
48
+ end
49
+
50
+ it 'uses field and field locationas payload' do
51
+ hash_one = {}
52
+ payload = {}
53
+ location = {}
54
+ field.should_receive(:to_hash).and_return(payload)
55
+ field.location.should_receive(:to_hash).and_return(location)
56
+ payload.should_receive(:merge!).with(location).and_return(payload)
57
+ payload.should_receive(:merge!).with(:forceNewField => true).and_return({})
58
+ subject.add_field!(field, *args)
59
+ end
60
+
61
+ it 'allows overriding force new field flag' do
62
+ hash_one = {}
63
+ payload = {}
64
+ location = {}
65
+ field.should_receive(:to_hash).and_return(payload)
66
+ field.location.should_receive(:to_hash).and_return(location)
67
+ payload.should_receive(:merge!).with(location).and_return(payload)
68
+ payload.should_receive(:merge!).with(:forceNewField => false).and_return({})
69
+ subject.add_field!(field, *args, :force_new_field => false)
70
+ end
71
+ end
72
+
73
+ describe '#modify_field!' do
74
+ let(:field) { GroupDocs::Signature::Field.new(:locations=>[GroupDocs::Signature::Field::Location.new]) }
75
+ let(:document) { GroupDocs::Document.new(:file => GroupDocs::Storage::File.new) }
76
+ let(:recipient) { GroupDocs::Signature::Recipient.new }
77
+
78
+ before(:each) do
79
+ mock_api_server(load_json('signature_field_add'))
80
+ end
81
+
82
+ it 'accepts access credentials hash' do
83
+ lambda do
84
+ subject.modify_field!(field, document, recipient, :client_id => 'client_id', :private_key => 'private_key')
85
+ end.should_not raise_error()
86
+ end
87
+
88
+ it 'raises error if field is not GroupDocs::Signature::Field object' do
89
+ lambda { subject.modify_field!('Field', document, recipient) }.should raise_error(ArgumentError)
90
+ end
91
+
92
+ it 'raises error if document is not GroupDocs::Document object' do
93
+ lambda { subject.modify_field!(field, 'Document', recipient) }.should raise_error(ArgumentError)
94
+ end
95
+
96
+ it 'raises error if field is not GroupDocs::Signature::Recipient object' do
97
+ lambda { subject.modify_field!(field, document, 'Recipient') }.should raise_error(ArgumentError)
98
+ end
99
+
100
+ it 'uses field and first field location as payload' do
101
+ payload = {}
102
+ location = {}
103
+ locations = [location]
104
+ field.should_receive(:to_hash).and_return(payload)
105
+ payload.should_receive(:delete).with(:locations).and_return(payload)
106
+ field.should_receive(:locations).and_return(locations)
107
+ locations.should_receive(:first).and_return(location)
108
+ payload.should_receive(:merge!).with(location).and_return(payload)
109
+ subject.modify_field!(field, document, recipient)
110
+ end
111
+ end
112
+
113
+ describe '#assign_field!' do
114
+ case described_class.name
115
+ when 'GroupDocs::Signature::Form'
116
+ it 'does not have #assign_field! method' do
117
+ subject.methods.should_not include(:assign_field!)
118
+ end
119
+ when 'GroupDocs::Signature::Template', 'GroupDocs::Signature::Envelope'
120
+ let(:field) { GroupDocs::Signature::Field.new }
121
+ let(:document) { GroupDocs::Document.new(:file => GroupDocs::Storage::File.new) }
122
+ let(:assign_from) { GroupDocs::Signature::Recipient.new }
123
+ let(:assign_to) { GroupDocs::Signature::Recipient.new }
124
+
125
+ before(:each) do
126
+ mock_api_server(load_json('signature_field_add'))
127
+ end
128
+
129
+ it 'accepts access credentials hash' do
130
+ lambda do
131
+ subject.assign_field!(field, document, assign_from, assign_to, :client_id => 'client_id', :private_key => 'private_key')
132
+ end.should_not raise_error()
133
+ end
134
+
135
+ it 'raises error if field is not GroupDocs::Signature::Field object' do
136
+ lambda { subject.assign_field!('Field', document, assign_from, assign_to) }.should raise_error(ArgumentError)
137
+ end
138
+
139
+ it 'raises error if document is not GroupDocs::Document object' do
140
+ lambda { subject.assign_field!(field, 'Document', assign_from, assign_to) }.should raise_error(ArgumentError)
141
+ end
142
+
143
+ it 'raises error if assign from is not GroupDocs::Signature::Recipient object' do
144
+ lambda { subject.assign_field!(field, document, 'Assign', assign_to) }.should raise_error(ArgumentError)
145
+ end
146
+
147
+ it 'raises error if assign to is not GroupDocs::Signature::Recipient object' do
148
+ lambda { subject.assign_field!(field, document, assign_from, 'Assign') }.should raise_error(ArgumentError)
149
+ end
150
+ end
151
+ end
152
+
153
+ describe '#delete_field!' do
154
+ let(:field) do
155
+ GroupDocs::Signature::Field.new
156
+ end
157
+
158
+ before(:each) do
159
+ mock_api_server('{ "status": "Ok", "result": {}}')
160
+ end
161
+
162
+ it 'raises error if field is not GroupDocs::Signature::Field object' do
163
+ lambda { subject.delete_field!('Field') }.should raise_error(ArgumentError)
164
+ end
165
+
166
+ it 'accepts access credentials hash' do
167
+ lambda do
168
+ subject.delete_field!(field, :client_id => 'client_id', :private_key => 'private_key')
169
+ end.should_not raise_error()
170
+ end
171
+ end
172
+
173
+ describe '#modify_field_location!' do
174
+ let(:field) { GroupDocs::Signature::Field.new }
175
+ let(:document) { GroupDocs::Document.new(:file => GroupDocs::Storage::File.new) }
176
+ let(:recipient) { GroupDocs::Signature::Recipient.new }
177
+ let(:location) { GroupDocs::Signature::Field::Location.new }
178
+
179
+ before(:each) do
180
+ mock_api_server(load_json('signature_field_add'))
181
+ end
182
+
183
+ it 'raises error if location is not GroupDocs::Signature::Field::Location object' do
184
+ lambda { subject.modify_field_location!('Location', field, *args) }.should raise_error(ArgumentError)
185
+ end
186
+
187
+ it 'raises error if field is not GroupDocs::Signature::Field object' do
188
+ lambda { subject.modify_field_location!(location, 'Field', *args) }.should raise_error(ArgumentError)
189
+ end
190
+
191
+ it 'accepts access credentials hash' do
192
+ lambda do
193
+ subject.modify_field_location!(location, field, *args, :client_id => 'client_id', :private_key => 'private_key')
194
+ end.should_not raise_error()
195
+ end
196
+ end
197
+
198
+ describe '#delete_field_location!' do
199
+ let(:field) { GroupDocs::Signature::Field.new }
200
+ let(:location) { GroupDocs::Signature::Field::Location.new }
201
+
202
+ before(:each) do
203
+ mock_api_server('{ "status": "Ok", "result": {}}')
204
+ end
205
+
206
+ it 'raises error if location is not GroupDocs::Signature::Field::Location object' do
207
+ lambda { subject.delete_field_location!('Location', field) }.should raise_error(ArgumentError)
208
+ end
209
+
210
+ it 'raises error if field is not GroupDocs::Signature::Field object' do
211
+ lambda { subject.delete_field_location!(location, 'Field') }.should raise_error(ArgumentError)
212
+ end
213
+
214
+ it 'accepts access credentials hash' do
215
+ lambda do
216
+ subject.delete_field_location!(location, field, :client_id => 'client_id', :private_key => 'private_key')
217
+ end.should_not raise_error()
218
+ end
219
+ end
220
+ end