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,270 +1,270 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe GroupDocs::Storage::Folder do
|
4
|
-
|
5
|
-
it_behaves_like GroupDocs::Api::Entity
|
6
|
-
include_examples GroupDocs::Api::Helpers::AccessMode
|
7
|
-
|
8
|
-
describe '.create!' do
|
9
|
-
before(:each) do
|
10
|
-
mock_api_server(load_json('folder_create'))
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'accepts access credentials hash' do
|
14
|
-
lambda do
|
15
|
-
described_class.create!('Test', :client_id => 'client_id', :private_key => 'private_key')
|
16
|
-
end.should_not raise_error()
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'returns GroupDocs::Storage::Folder object' do
|
20
|
-
folder = described_class.create!('Test')
|
21
|
-
folder.should be_a(GroupDocs::Storage::Folder)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
describe '.list!' do
|
26
|
-
before(:each) do
|
27
|
-
mock_api_server(load_json('folder_list'))
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'accepts access credentials hash' do
|
31
|
-
lambda do
|
32
|
-
described_class.list!('', {}, :client_id => 'client_id', :private_key => 'private_key')
|
33
|
-
end.should_not raise_error()
|
34
|
-
end
|
35
|
-
|
36
|
-
it 'allows passing path' do
|
37
|
-
lambda { described_class.list!('test') }.should_not raise_error()
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'allows passing options' do
|
41
|
-
lambda { described_class.list!('', :page => 1, :count => 1) }.should_not raise_error()
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'creates new instance of GroupDocs::Storage::Folder and calls #list!' do
|
45
|
-
folder = double('folder')
|
46
|
-
GroupDocs::Storage::Folder.should_receive(:new).with(:path => '').and_return(folder)
|
47
|
-
folder.should_receive(:list!).with({}, {})
|
48
|
-
described_class.list!
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
it { should have_accessor(:id) }
|
53
|
-
it { should have_accessor(:size) }
|
54
|
-
it { should have_accessor(:folder_count) }
|
55
|
-
it { should have_accessor(:file_count) }
|
56
|
-
it { should have_accessor(:created_on) }
|
57
|
-
it { should have_accessor(:modified_on) }
|
58
|
-
it { should have_accessor(:url) }
|
59
|
-
it { should have_accessor(:name) }
|
60
|
-
it { should have_accessor(:version) }
|
61
|
-
it { should have_accessor(:type) }
|
62
|
-
|
63
|
-
describe '#created_on' do
|
64
|
-
it 'returns converted to Time object Unix timestamp' do
|
65
|
-
subject.created_on = 1330450135000
|
66
|
-
subject.created_on.should == Time.at(1330450135)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
describe '#modified_on' do
|
71
|
-
it 'returns converted to Time object Unix timestamp' do
|
72
|
-
subject.modified_on = 1330450135000
|
73
|
-
subject.modified_on.should == Time.at(1330450135)
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
describe '#list!' do
|
78
|
-
before(:each) do
|
79
|
-
mock_api_server(load_json('folder_list'))
|
80
|
-
subject.stub(:path => '/Test1')
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'accepts access credentials hash' do
|
84
|
-
lambda do
|
85
|
-
subject.list!({}, :client_id => 'client_id', :private_key => 'private_key')
|
86
|
-
end.should_not raise_error()
|
87
|
-
end
|
88
|
-
|
89
|
-
it 'allows passing options' do
|
90
|
-
lambda { subject.list!(:page => 1, :count => 1) }.should_not raise_error()
|
91
|
-
end
|
92
|
-
|
93
|
-
it 'capitalizes :order_by option' do
|
94
|
-
options = { :order_by => 'field' }
|
95
|
-
lambda { subject.list!(options) }.should change { options[:order_by] }.to('Field')
|
96
|
-
end
|
97
|
-
|
98
|
-
it 'camelizes :order_by option' do
|
99
|
-
options = { :order_by => 'modified_on' }
|
100
|
-
lambda { subject.list!(options) }.should change { options[:order_by] }.to('ModifiedOn')
|
101
|
-
end
|
102
|
-
|
103
|
-
it 'returns array' do
|
104
|
-
subject.list!.should be_an(Array)
|
105
|
-
end
|
106
|
-
|
107
|
-
it 'returns empty array if nothing is listed in directory' do
|
108
|
-
mock_api_server('{"result": {"folders": [], "files": []}, "status": "Ok"}')
|
109
|
-
subject.list!.should be_empty
|
110
|
-
end
|
111
|
-
|
112
|
-
it 'determines folders in response' do
|
113
|
-
subject.list!.detect do |entity|
|
114
|
-
entity.id == 1
|
115
|
-
end.should be_a(GroupDocs::Storage::Folder)
|
116
|
-
end
|
117
|
-
|
118
|
-
it 'determines files in response' do
|
119
|
-
subject.list!.detect do |entity|
|
120
|
-
entity.id == 2
|
121
|
-
end.should be_a(GroupDocs::Storage::File)
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
describe '#move!' do
|
126
|
-
before(:each) do
|
127
|
-
subject.path = ''
|
128
|
-
mock_api_server(load_json('folder_move'))
|
129
|
-
end
|
130
|
-
|
131
|
-
it 'accepts access credentials hash' do
|
132
|
-
lambda do
|
133
|
-
subject.move!('Test', :client_id => 'client_id', :private_key => 'private_key')
|
134
|
-
end.should_not raise_error()
|
135
|
-
end
|
136
|
-
|
137
|
-
it 'returns moved to folder path' do
|
138
|
-
moved = subject.move!('Test2/Test1')
|
139
|
-
moved.should be_a(String)
|
140
|
-
moved.should == 'Test2/Test1/'
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
describe '#copy!' do
|
145
|
-
before(:each) do
|
146
|
-
subject.path = ''
|
147
|
-
mock_api_server(load_json('folder_move'))
|
148
|
-
end
|
149
|
-
|
150
|
-
it 'accepts access credentials hash' do
|
151
|
-
lambda do
|
152
|
-
subject.copy!('/Test2', :client_id => 'client_id', :private_key => 'private_key')
|
153
|
-
end.should_not raise_error()
|
154
|
-
end
|
155
|
-
|
156
|
-
it 'returns moved to folder path' do
|
157
|
-
moved = subject.copy!('Test2/Test1')
|
158
|
-
moved.should be_a(String)
|
159
|
-
moved.should == 'Test2/Test1/'
|
160
|
-
end
|
161
|
-
end
|
162
|
-
|
163
|
-
describe '#create!' do
|
164
|
-
before(:each) do
|
165
|
-
mock_api_server(load_json('folder_create'))
|
166
|
-
end
|
167
|
-
|
168
|
-
it 'accepts access credentials hash' do
|
169
|
-
lambda do
|
170
|
-
subject.create!(:client_id => 'client_id', :private_key => 'private_key')
|
171
|
-
end.should_not raise_error()
|
172
|
-
end
|
173
|
-
|
174
|
-
it 'calls create! class method and pass parameters to it' do
|
175
|
-
subject = described_class.new(:name => 'Test1')
|
176
|
-
described_class.should_receive(:create!).with('Test1', {})
|
177
|
-
subject.create!
|
178
|
-
end
|
179
|
-
|
180
|
-
it 'returns new GroupDocs::Storage::Folder object' do
|
181
|
-
subject = described_class.new(:name => 'Test1')
|
182
|
-
new_folder = subject.create!
|
183
|
-
new_folder.should be_a(GroupDocs::Storage::Folder)
|
184
|
-
new_folder.should_not == subject
|
185
|
-
end
|
186
|
-
end
|
187
|
-
|
188
|
-
describe '#delete!' do
|
189
|
-
before(:each) do
|
190
|
-
mock_api_server(load_json('folder_delete'))
|
191
|
-
end
|
192
|
-
|
193
|
-
it 'accepts access credentials hash' do
|
194
|
-
lambda do
|
195
|
-
subject.delete!(:client_id => 'client_id', :private_key => 'private_key')
|
196
|
-
end.should_not raise_error()
|
197
|
-
end
|
198
|
-
|
199
|
-
it 'determines path by name' do
|
200
|
-
subject.should_receive(:name).and_return('Test1')
|
201
|
-
subject.delete!
|
202
|
-
end
|
203
|
-
end
|
204
|
-
|
205
|
-
describe '#sharers!' do
|
206
|
-
before(:each) do
|
207
|
-
mock_api_server(load_json('folder_sharers_get'))
|
208
|
-
end
|
209
|
-
|
210
|
-
it 'accepts access credentials hash' do
|
211
|
-
lambda do
|
212
|
-
subject.sharers!(:client_id => 'client_id', :private_key => 'private_key')
|
213
|
-
end.should_not raise_error()
|
214
|
-
end
|
215
|
-
|
216
|
-
it 'returns an array of GroupDocs::User objects' do
|
217
|
-
users = subject.sharers!
|
218
|
-
users.should be_an(Array)
|
219
|
-
users.each do |user|
|
220
|
-
user.should be_a(GroupDocs::User)
|
221
|
-
end
|
222
|
-
end
|
223
|
-
end
|
224
|
-
|
225
|
-
describe '#sharers_set!' do
|
226
|
-
before(:each) do
|
227
|
-
mock_api_server(load_json('folder_sharers_set'))
|
228
|
-
end
|
229
|
-
|
230
|
-
it 'accepts access credentials hash' do
|
231
|
-
lambda do
|
232
|
-
subject.sharers_set!(%w(test1@email.com), :client_id => 'client_id', :private_key => 'private_key')
|
233
|
-
end.should_not raise_error()
|
234
|
-
end
|
235
|
-
|
236
|
-
it 'returns an array of GroupDocs::User objects' do
|
237
|
-
users = subject.sharers_set!(%w(test1@email.com))
|
238
|
-
users.should be_an(Array)
|
239
|
-
users.each do |user|
|
240
|
-
user.should be_a(GroupDocs::User)
|
241
|
-
end
|
242
|
-
end
|
243
|
-
|
244
|
-
it 'clears sharers if empty array is passed' do
|
245
|
-
subject.should_receive(:sharers_clear!)
|
246
|
-
subject.sharers_set!([])
|
247
|
-
end
|
248
|
-
|
249
|
-
it 'clears sharers if nil is passed' do
|
250
|
-
subject.should_receive(:sharers_clear!)
|
251
|
-
subject.sharers_set!(nil)
|
252
|
-
end
|
253
|
-
end
|
254
|
-
|
255
|
-
describe '#sharers_clear!' do
|
256
|
-
before(:each) do
|
257
|
-
mock_api_server(load_json('folder_sharers_remove'))
|
258
|
-
end
|
259
|
-
|
260
|
-
it 'accepts access credentials hash' do
|
261
|
-
lambda do
|
262
|
-
subject.sharers_clear!(:client_id => 'client_id', :private_key => 'private_key')
|
263
|
-
end.should_not raise_error()
|
264
|
-
end
|
265
|
-
|
266
|
-
it 'clears sharers list and returns nil' do
|
267
|
-
subject.sharers_clear!.should be_nil
|
268
|
-
end
|
269
|
-
end
|
270
|
-
end
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GroupDocs::Storage::Folder do
|
4
|
+
|
5
|
+
it_behaves_like GroupDocs::Api::Entity
|
6
|
+
include_examples GroupDocs::Api::Helpers::AccessMode
|
7
|
+
|
8
|
+
describe '.create!' do
|
9
|
+
before(:each) do
|
10
|
+
mock_api_server(load_json('folder_create'))
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'accepts access credentials hash' do
|
14
|
+
lambda do
|
15
|
+
described_class.create!('Test', :client_id => 'client_id', :private_key => 'private_key')
|
16
|
+
end.should_not raise_error()
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'returns GroupDocs::Storage::Folder object' do
|
20
|
+
folder = described_class.create!('Test')
|
21
|
+
folder.should be_a(GroupDocs::Storage::Folder)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '.list!' do
|
26
|
+
before(:each) do
|
27
|
+
mock_api_server(load_json('folder_list'))
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'accepts access credentials hash' do
|
31
|
+
lambda do
|
32
|
+
described_class.list!('', {}, :client_id => 'client_id', :private_key => 'private_key')
|
33
|
+
end.should_not raise_error()
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'allows passing path' do
|
37
|
+
lambda { described_class.list!('test') }.should_not raise_error()
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'allows passing options' do
|
41
|
+
lambda { described_class.list!('', :page => 1, :count => 1) }.should_not raise_error()
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'creates new instance of GroupDocs::Storage::Folder and calls #list!' do
|
45
|
+
folder = double('folder')
|
46
|
+
GroupDocs::Storage::Folder.should_receive(:new).with(:path => '').and_return(folder)
|
47
|
+
folder.should_receive(:list!).with({}, {})
|
48
|
+
described_class.list!
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
it { should have_accessor(:id) }
|
53
|
+
it { should have_accessor(:size) }
|
54
|
+
it { should have_accessor(:folder_count) }
|
55
|
+
it { should have_accessor(:file_count) }
|
56
|
+
it { should have_accessor(:created_on) }
|
57
|
+
it { should have_accessor(:modified_on) }
|
58
|
+
it { should have_accessor(:url) }
|
59
|
+
it { should have_accessor(:name) }
|
60
|
+
it { should have_accessor(:version) }
|
61
|
+
it { should have_accessor(:type) }
|
62
|
+
|
63
|
+
describe '#created_on' do
|
64
|
+
it 'returns converted to Time object Unix timestamp' do
|
65
|
+
subject.created_on = 1330450135000
|
66
|
+
subject.created_on.should == Time.at(1330450135)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe '#modified_on' do
|
71
|
+
it 'returns converted to Time object Unix timestamp' do
|
72
|
+
subject.modified_on = 1330450135000
|
73
|
+
subject.modified_on.should == Time.at(1330450135)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
describe '#list!' do
|
78
|
+
before(:each) do
|
79
|
+
mock_api_server(load_json('folder_list'))
|
80
|
+
subject.stub(:path => '/Test1')
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'accepts access credentials hash' do
|
84
|
+
lambda do
|
85
|
+
subject.list!({}, :client_id => 'client_id', :private_key => 'private_key')
|
86
|
+
end.should_not raise_error()
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'allows passing options' do
|
90
|
+
lambda { subject.list!(:page => 1, :count => 1) }.should_not raise_error()
|
91
|
+
end
|
92
|
+
|
93
|
+
it 'capitalizes :order_by option' do
|
94
|
+
options = { :order_by => 'field' }
|
95
|
+
lambda { subject.list!(options) }.should change { options[:order_by] }.to('Field')
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'camelizes :order_by option' do
|
99
|
+
options = { :order_by => 'modified_on' }
|
100
|
+
lambda { subject.list!(options) }.should change { options[:order_by] }.to('ModifiedOn')
|
101
|
+
end
|
102
|
+
|
103
|
+
it 'returns array' do
|
104
|
+
subject.list!.should be_an(Array)
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'returns empty array if nothing is listed in directory' do
|
108
|
+
mock_api_server('{"result": {"folders": [], "files": []}, "status": "Ok"}')
|
109
|
+
subject.list!.should be_empty
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'determines folders in response' do
|
113
|
+
subject.list!.detect do |entity|
|
114
|
+
entity.id == 1
|
115
|
+
end.should be_a(GroupDocs::Storage::Folder)
|
116
|
+
end
|
117
|
+
|
118
|
+
it 'determines files in response' do
|
119
|
+
subject.list!.detect do |entity|
|
120
|
+
entity.id == 2
|
121
|
+
end.should be_a(GroupDocs::Storage::File)
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
describe '#move!' do
|
126
|
+
before(:each) do
|
127
|
+
subject.path = ''
|
128
|
+
mock_api_server(load_json('folder_move'))
|
129
|
+
end
|
130
|
+
|
131
|
+
it 'accepts access credentials hash' do
|
132
|
+
lambda do
|
133
|
+
subject.move!('Test', :client_id => 'client_id', :private_key => 'private_key')
|
134
|
+
end.should_not raise_error()
|
135
|
+
end
|
136
|
+
|
137
|
+
it 'returns moved to folder path' do
|
138
|
+
moved = subject.move!('Test2/Test1')
|
139
|
+
moved.should be_a(String)
|
140
|
+
moved.should == 'Test2/Test1/'
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
describe '#copy!' do
|
145
|
+
before(:each) do
|
146
|
+
subject.path = ''
|
147
|
+
mock_api_server(load_json('folder_move'))
|
148
|
+
end
|
149
|
+
|
150
|
+
it 'accepts access credentials hash' do
|
151
|
+
lambda do
|
152
|
+
subject.copy!('/Test2', :client_id => 'client_id', :private_key => 'private_key')
|
153
|
+
end.should_not raise_error()
|
154
|
+
end
|
155
|
+
|
156
|
+
it 'returns moved to folder path' do
|
157
|
+
moved = subject.copy!('Test2/Test1')
|
158
|
+
moved.should be_a(String)
|
159
|
+
moved.should == 'Test2/Test1/'
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
describe '#create!' do
|
164
|
+
before(:each) do
|
165
|
+
mock_api_server(load_json('folder_create'))
|
166
|
+
end
|
167
|
+
|
168
|
+
it 'accepts access credentials hash' do
|
169
|
+
lambda do
|
170
|
+
subject.create!(:client_id => 'client_id', :private_key => 'private_key')
|
171
|
+
end.should_not raise_error()
|
172
|
+
end
|
173
|
+
|
174
|
+
it 'calls create! class method and pass parameters to it' do
|
175
|
+
subject = described_class.new(:name => 'Test1')
|
176
|
+
described_class.should_receive(:create!).with('Test1', {})
|
177
|
+
subject.create!
|
178
|
+
end
|
179
|
+
|
180
|
+
it 'returns new GroupDocs::Storage::Folder object' do
|
181
|
+
subject = described_class.new(:name => 'Test1')
|
182
|
+
new_folder = subject.create!
|
183
|
+
new_folder.should be_a(GroupDocs::Storage::Folder)
|
184
|
+
new_folder.should_not == subject
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
describe '#delete!' do
|
189
|
+
before(:each) do
|
190
|
+
mock_api_server(load_json('folder_delete'))
|
191
|
+
end
|
192
|
+
|
193
|
+
it 'accepts access credentials hash' do
|
194
|
+
lambda do
|
195
|
+
subject.delete!(:client_id => 'client_id', :private_key => 'private_key')
|
196
|
+
end.should_not raise_error()
|
197
|
+
end
|
198
|
+
|
199
|
+
it 'determines path by name' do
|
200
|
+
subject.should_receive(:name).and_return('Test1')
|
201
|
+
subject.delete!
|
202
|
+
end
|
203
|
+
end
|
204
|
+
|
205
|
+
describe '#sharers!' do
|
206
|
+
before(:each) do
|
207
|
+
mock_api_server(load_json('folder_sharers_get'))
|
208
|
+
end
|
209
|
+
|
210
|
+
it 'accepts access credentials hash' do
|
211
|
+
lambda do
|
212
|
+
subject.sharers!(:client_id => 'client_id', :private_key => 'private_key')
|
213
|
+
end.should_not raise_error()
|
214
|
+
end
|
215
|
+
|
216
|
+
it 'returns an array of GroupDocs::User objects' do
|
217
|
+
users = subject.sharers!
|
218
|
+
users.should be_an(Array)
|
219
|
+
users.each do |user|
|
220
|
+
user.should be_a(GroupDocs::User)
|
221
|
+
end
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
225
|
+
describe '#sharers_set!' do
|
226
|
+
before(:each) do
|
227
|
+
mock_api_server(load_json('folder_sharers_set'))
|
228
|
+
end
|
229
|
+
|
230
|
+
it 'accepts access credentials hash' do
|
231
|
+
lambda do
|
232
|
+
subject.sharers_set!(%w(test1@email.com), :client_id => 'client_id', :private_key => 'private_key')
|
233
|
+
end.should_not raise_error()
|
234
|
+
end
|
235
|
+
|
236
|
+
it 'returns an array of GroupDocs::User objects' do
|
237
|
+
users = subject.sharers_set!(%w(test1@email.com))
|
238
|
+
users.should be_an(Array)
|
239
|
+
users.each do |user|
|
240
|
+
user.should be_a(GroupDocs::User)
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
it 'clears sharers if empty array is passed' do
|
245
|
+
subject.should_receive(:sharers_clear!)
|
246
|
+
subject.sharers_set!([])
|
247
|
+
end
|
248
|
+
|
249
|
+
it 'clears sharers if nil is passed' do
|
250
|
+
subject.should_receive(:sharers_clear!)
|
251
|
+
subject.sharers_set!(nil)
|
252
|
+
end
|
253
|
+
end
|
254
|
+
|
255
|
+
describe '#sharers_clear!' do
|
256
|
+
before(:each) do
|
257
|
+
mock_api_server(load_json('folder_sharers_remove'))
|
258
|
+
end
|
259
|
+
|
260
|
+
it 'accepts access credentials hash' do
|
261
|
+
lambda do
|
262
|
+
subject.sharers_clear!(:client_id => 'client_id', :private_key => 'private_key')
|
263
|
+
end.should_not raise_error()
|
264
|
+
end
|
265
|
+
|
266
|
+
it 'clears sharers list and returns nil' do
|
267
|
+
subject.sharers_clear!.should be_nil
|
268
|
+
end
|
269
|
+
end
|
270
|
+
end
|