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