groupdocs 1.0.0 → 1.1.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.
- data/.travis.yml +0 -0
- data/CHANGELOG.md +22 -0
- data/Gemfile +0 -0
- data/README.md +4 -2
- data/Rakefile +0 -0
- data/examples/README.md +0 -0
- data/examples/annotations/Gemfile +0 -0
- data/examples/annotations/app.rb +0 -0
- data/groupdocs.gemspec +0 -0
- data/lib/groupdocs/api/entity.rb +0 -0
- data/lib/groupdocs/api/helpers/access_mode_helper.rb +0 -0
- data/lib/groupdocs/api/helpers/access_rights_helper.rb +54 -0
- data/lib/groupdocs/api/helpers/byte_flag_helper.rb +49 -0
- data/lib/groupdocs/api/helpers/credentials_helper.rb +0 -0
- data/lib/groupdocs/api/helpers/path_helper.rb +0 -0
- data/lib/groupdocs/api/helpers/rest_helper.rb +0 -0
- data/lib/groupdocs/api/helpers/status_helper.rb +0 -0
- data/lib/groupdocs/api/helpers/url_helper.rb +0 -0
- data/lib/groupdocs/api/helpers.rb +2 -1
- data/lib/groupdocs/api/request.rb +0 -0
- data/lib/groupdocs/api.rb +0 -0
- data/lib/groupdocs/datasource/field.rb +0 -0
- data/lib/groupdocs/datasource.rb +0 -0
- data/lib/groupdocs/document/annotation/reply.rb +0 -0
- data/lib/groupdocs/document/annotation/reviewer.rb +60 -0
- data/lib/groupdocs/document/annotation.rb +19 -44
- data/lib/groupdocs/document/change.rb +0 -0
- data/lib/groupdocs/document/field.rb +0 -0
- data/lib/groupdocs/document/metadata.rb +0 -0
- data/lib/groupdocs/document/rectangle.rb +0 -0
- data/lib/groupdocs/document/view.rb +0 -0
- data/lib/groupdocs/document.rb +129 -0
- data/lib/groupdocs/errors.rb +0 -0
- data/lib/groupdocs/job.rb +53 -1
- data/lib/groupdocs/questionnaire/execution.rb +0 -0
- data/lib/groupdocs/questionnaire/page.rb +0 -0
- data/lib/groupdocs/questionnaire/question/answer.rb +0 -0
- data/lib/groupdocs/questionnaire/question.rb +0 -0
- data/lib/groupdocs/questionnaire.rb +0 -0
- data/lib/groupdocs/signature/contact.rb +0 -0
- data/lib/groupdocs/signature/envelope/log.rb +0 -0
- data/lib/groupdocs/signature/envelope.rb +0 -0
- data/lib/groupdocs/signature/field/location.rb +0 -0
- data/lib/groupdocs/signature/field.rb +0 -0
- data/lib/groupdocs/signature/form.rb +0 -0
- data/lib/groupdocs/signature/list.rb +0 -0
- data/lib/groupdocs/signature/recipient.rb +0 -0
- data/lib/groupdocs/signature/role.rb +0 -0
- data/lib/groupdocs/signature/shared/document_methods.rb +0 -0
- data/lib/groupdocs/signature/shared/entity_fields.rb +0 -0
- data/lib/groupdocs/signature/shared/entity_methods.rb +0 -0
- data/lib/groupdocs/signature/shared/field_methods.rb +0 -0
- data/lib/groupdocs/signature/shared/recipient_methods.rb +0 -0
- data/lib/groupdocs/signature/shared/resource_methods.rb +0 -0
- data/lib/groupdocs/signature/shared.rb +0 -0
- data/lib/groupdocs/signature/template.rb +0 -0
- data/lib/groupdocs/signature.rb +0 -0
- data/lib/groupdocs/storage/file.rb +0 -0
- data/lib/groupdocs/storage/folder.rb +0 -0
- data/lib/groupdocs/storage/package.rb +0 -0
- data/lib/groupdocs/storage.rb +0 -0
- data/lib/groupdocs/subscription/limit.rb +0 -0
- data/lib/groupdocs/subscription.rb +0 -0
- data/lib/groupdocs/user.rb +31 -4
- data/lib/groupdocs/version.rb +1 -1
- data/lib/groupdocs.rb +0 -0
- data/spec/groupdocs/api/entity_spec.rb +0 -0
- data/spec/groupdocs/api/helpers/access_mode_helper_spec.rb +0 -1
- data/spec/groupdocs/api/helpers/access_rights_helper_spec.rb +43 -0
- data/spec/groupdocs/api/helpers/byte_flag_helper_spec.rb +23 -0
- data/spec/groupdocs/api/helpers/credentials_helpers_spec.rb +0 -0
- data/spec/groupdocs/api/helpers/path_helper_spec.rb +0 -0
- data/spec/groupdocs/api/helpers/rest_helper_spec.rb +0 -0
- data/spec/groupdocs/api/helpers/status_helper_spec.rb +0 -0
- data/spec/groupdocs/api/helpers/url_helper_spec.rb +0 -0
- data/spec/groupdocs/api/request_spec.rb +0 -0
- data/spec/groupdocs/datasource/field_spec.rb +0 -0
- data/spec/groupdocs/datasource_spec.rb +0 -0
- data/spec/groupdocs/document/annotation/reply_spec.rb +0 -0
- data/spec/groupdocs/document/annotation/reviewer_spec.rb +57 -0
- data/spec/groupdocs/document/annotation_spec.rb +12 -44
- data/spec/groupdocs/document/change_spec.rb +0 -0
- data/spec/groupdocs/document/field_spec.rb +0 -0
- data/spec/groupdocs/document/metadata_spec.rb +0 -0
- data/spec/groupdocs/document/rectangle_spec.rb +0 -0
- data/spec/groupdocs/document/view_spec.rb +0 -0
- data/spec/groupdocs/document_spec.rb +138 -0
- data/spec/groupdocs/errors_spec.rb +0 -0
- data/spec/groupdocs/job_spec.rb +42 -0
- data/spec/groupdocs/questionnaire/execution_spec.rb +0 -0
- data/spec/groupdocs/questionnaire/page_spec.rb +0 -0
- data/spec/groupdocs/questionnaire/question/answer_spec.rb +0 -0
- data/spec/groupdocs/questionnaire/question_spec.rb +0 -0
- data/spec/groupdocs/questionnaire_spec.rb +0 -0
- data/spec/groupdocs/signature/contact_spec.rb +0 -0
- data/spec/groupdocs/signature/envelope/log_spec.rb +0 -0
- data/spec/groupdocs/signature/envelope_spec.rb +0 -0
- data/spec/groupdocs/signature/field/location_spec.rb +0 -0
- data/spec/groupdocs/signature/field_spec.rb +0 -0
- data/spec/groupdocs/signature/form_spec.rb +0 -0
- data/spec/groupdocs/signature/list_spec.rb +0 -0
- data/spec/groupdocs/signature/recipient_spec.rb +0 -0
- data/spec/groupdocs/signature/role_spec.rb +0 -0
- data/spec/groupdocs/signature/template_spec.rb +0 -0
- data/spec/groupdocs/signature_spec.rb +0 -0
- data/spec/groupdocs/storage/file_spec.rb +0 -0
- data/spec/groupdocs/storage/folder_spec.rb +0 -0
- data/spec/groupdocs/storage/package_spec.rb +0 -0
- data/spec/groupdocs/storage_spec.rb +0 -0
- data/spec/groupdocs/subscription/limit_spec.rb +0 -0
- data/spec/groupdocs/subscription_spec.rb +0 -0
- data/spec/groupdocs/user_spec.rb +62 -37
- data/spec/groupdocs_spec.rb +0 -0
- data/spec/spec_helper.rb +0 -0
- data/spec/support/files/envelope.zip +0 -0
- data/spec/support/files/resume.pdf +0 -0
- data/spec/support/json/annotation_access_set.json +0 -0
- data/spec/support/json/annotation_collaborators_get.json +0 -0
- data/spec/support/json/annotation_collaborators_set.json +0 -0
- data/spec/support/json/annotation_create.json +0 -0
- data/spec/support/json/annotation_list.json +0 -0
- data/spec/support/json/annotation_move.json +0 -0
- data/spec/support/json/annotation_remove.json +0 -0
- data/spec/support/json/annotation_replies_create.json +0 -0
- data/spec/support/json/annotation_replies_get.json +0 -0
- data/spec/support/json/annotation_reviewers_get.json +18 -0
- data/spec/support/json/comparison_changes.json +0 -0
- data/spec/support/json/comparison_compare.json +0 -0
- data/spec/support/json/comparison_document.json +0 -0
- data/spec/support/json/contact_add.json +0 -0
- data/spec/support/json/contacts_get.json +0 -0
- data/spec/support/json/contacts_import.json +0 -0
- data/spec/support/json/datasource_add.json +0 -0
- data/spec/support/json/datasource_get.json +0 -0
- data/spec/support/json/datasource_remove.json +0 -0
- data/spec/support/json/datasource_update.json +0 -0
- data/spec/support/json/document_access_info_get.json +0 -0
- data/spec/support/json/document_convert.json +0 -0
- data/spec/support/json/document_datasource.json +0 -0
- data/spec/support/json/document_fields.json +0 -0
- data/spec/support/json/document_formats.json +0 -0
- data/spec/support/json/document_metadata.json +0 -0
- data/spec/support/json/document_questionnaire_create.json +0 -0
- data/spec/support/json/document_questionnaires.json +0 -0
- data/spec/support/json/document_sharers_remove.json +0 -0
- data/spec/support/json/document_sharers_set.json +0 -0
- data/spec/support/json/document_views.json +0 -0
- data/spec/support/json/envelope_get.json +0 -0
- data/spec/support/json/envelope_logs.json +0 -0
- data/spec/support/json/envelopes_all.json +0 -0
- data/spec/support/json/envelopes_resources.json +0 -0
- data/spec/support/json/file_compress.json +0 -0
- data/spec/support/json/file_copy.json +0 -0
- data/spec/support/json/file_delete.json +0 -0
- data/spec/support/json/file_move.json +0 -0
- data/spec/support/json/file_upload.json +0 -0
- data/spec/support/json/folder_create.json +0 -0
- data/spec/support/json/folder_delete.json +0 -0
- data/spec/support/json/folder_list.json +0 -0
- data/spec/support/json/folder_move.json +0 -0
- data/spec/support/json/folder_sharers_get.json +0 -0
- data/spec/support/json/folder_sharers_remove.json +0 -0
- data/spec/support/json/folder_sharers_set.json +0 -0
- data/spec/support/json/form_get.json +0 -0
- data/spec/support/json/forms_all.json +0 -0
- data/spec/support/json/job_add_url.json +0 -0
- data/spec/support/json/job_create.json +0 -0
- data/spec/support/json/job_documents.json +0 -0
- data/spec/support/json/job_file_add.json +0 -0
- data/spec/support/json/job_get.json +0 -0
- data/spec/support/json/job_update.json +0 -0
- data/spec/support/json/jobs_get.json +0 -0
- data/spec/support/json/list_add.json +0 -0
- data/spec/support/json/lists_get.json +0 -0
- data/spec/support/json/package_create.json +0 -0
- data/spec/support/json/questionnaire_create.json +0 -0
- data/spec/support/json/questionnaire_datasources.json +0 -0
- data/spec/support/json/questionnaire_execution_create.json +0 -0
- data/spec/support/json/questionnaire_execution_status_set.json +0 -0
- data/spec/support/json/questionnaire_execution_update.json +0 -0
- data/spec/support/json/questionnaire_executions.json +0 -0
- data/spec/support/json/questionnaire_get.json +0 -0
- data/spec/support/json/questionnaire_remove.json +0 -0
- data/spec/support/json/questionnaire_update.json +0 -0
- data/spec/support/json/questionnaires_get.json +0 -0
- data/spec/support/json/signature_create.json +0 -0
- data/spec/support/json/signature_field_add.json +0 -0
- data/spec/support/json/signature_fields_get.json +0 -0
- data/spec/support/json/signature_roles_get.json +0 -0
- data/spec/support/json/signatures_get.json +0 -0
- data/spec/support/json/storage_info.json +0 -0
- data/spec/support/json/subscription_plan_get.json +0 -0
- data/spec/support/json/subscription_plans_get.json +0 -0
- data/spec/support/json/template_get.json +0 -0
- data/spec/support/json/template_get_documents.json +0 -0
- data/spec/support/json/template_get_recipients.json +0 -0
- data/spec/support/json/templates_all.json +0 -0
- data/spec/support/json/user_profile_get.json +0 -0
- data/spec/support/json/user_users_get.json +0 -0
- data/spec/support/shared_examples/api/entity.rb +0 -0
- data/spec/support/shared_examples/api/helpers/access_mode_helper.rb +0 -0
- data/spec/support/shared_examples/api/helpers/status_helper.rb +0 -0
- data/spec/support/shared_examples/signature/shared/document_methods.rb +0 -0
- data/spec/support/shared_examples/signature/shared/entity_fields.rb +0 -0
- data/spec/support/shared_examples/signature/shared/entity_methods.rb +0 -0
- data/spec/support/shared_examples/signature/shared/field_methods.rb +0 -0
- data/spec/support/shared_examples/signature/shared/recipient_methods.rb +0 -0
- data/spec/support/shared_examples/signature/shared/resource_methods.rb +0 -0
- metadata +72 -24
- data/lib/groupdocs/api/helpers/actions_helper.rb +0 -48
- data/spec/groupdocs/api/helpers/actions_helper_spec.rb +0 -37
data/lib/groupdocs/user.rb
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
module GroupDocs
|
|
2
2
|
class User < Api::Entity
|
|
3
3
|
|
|
4
|
+
include Api::Helpers::AccessRights
|
|
5
|
+
|
|
4
6
|
#
|
|
5
7
|
# Returns current user profile.
|
|
6
8
|
#
|
|
@@ -54,12 +56,37 @@ module GroupDocs
|
|
|
54
56
|
attr_accessor :news_enabled
|
|
55
57
|
# @attr [Time] signed_up_on
|
|
56
58
|
attr_accessor :signed_up_on
|
|
59
|
+
# @attr [Integer] color
|
|
60
|
+
attr_accessor :color
|
|
61
|
+
# @attr [String] customEmailMessage
|
|
62
|
+
attr_accessor :customEmailMessage
|
|
57
63
|
|
|
58
64
|
# Human-readable accessors
|
|
59
|
-
alias_method :first_name,
|
|
60
|
-
alias_method :first_name=,
|
|
61
|
-
alias_method :last_name,
|
|
62
|
-
alias_method :last_name=,
|
|
65
|
+
alias_method :first_name, :firstname
|
|
66
|
+
alias_method :first_name=, :firstname=
|
|
67
|
+
alias_method :last_name, :lastname
|
|
68
|
+
alias_method :last_name=, :lastname=
|
|
69
|
+
alias_method :custom_email_message, :customEmailMessage
|
|
70
|
+
alias_method :custom_email_message=, :customEmailMessage=
|
|
71
|
+
|
|
72
|
+
#
|
|
73
|
+
# Converts access rights to human-readable format flag.
|
|
74
|
+
# @return [Array<Symbol>]
|
|
75
|
+
#
|
|
76
|
+
def access_rights
|
|
77
|
+
convert_byte_to_access_rights @access_rights if @access_rights
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
#
|
|
81
|
+
# Converts access rights to machine-readable format flag.
|
|
82
|
+
# @param [Array<Symbol>] rights
|
|
83
|
+
#
|
|
84
|
+
def access_rights=(rights)
|
|
85
|
+
if rights.is_a?(Array)
|
|
86
|
+
rights = convert_access_rights_to_byte(rights)
|
|
87
|
+
end
|
|
88
|
+
@access_rights = rights
|
|
89
|
+
end
|
|
63
90
|
|
|
64
91
|
#
|
|
65
92
|
# Converts timestamp which is return by API server to Time object.
|
data/lib/groupdocs/version.rb
CHANGED
data/lib/groupdocs.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe GroupDocs::Api::Helpers::AccessRights do
|
|
4
|
+
subject do
|
|
5
|
+
GroupDocs::User.new
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
describe '#convert_access_rights_to_byte' do
|
|
9
|
+
let(:rights) { %w(export view proof download) }
|
|
10
|
+
|
|
11
|
+
it 'raises error if rights is not an array' do
|
|
12
|
+
-> { subject.send(:convert_access_rights_to_byte, :export) }.should raise_error(ArgumentError)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'raises error if right is unknown' do
|
|
16
|
+
-> { subject.send(:convert_access_rights_to_byte, %w(unknown)) }.should raise_error(ArgumentError)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'converts each right to Symbol' do
|
|
20
|
+
rights.each do |right|
|
|
21
|
+
symbol = right.to_sym
|
|
22
|
+
right.should_receive(:to_sym).and_return(symbol)
|
|
23
|
+
end
|
|
24
|
+
subject.send(:convert_access_rights_to_byte, rights)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'returns correct byte flag' do
|
|
28
|
+
subject.send(:convert_access_rights_to_byte, rights).should == 15
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
describe '#convert_byte_to_access_rights' do
|
|
33
|
+
let(:rights) { %w(export view proof) }
|
|
34
|
+
|
|
35
|
+
it 'raises error if rights is not an integer' do
|
|
36
|
+
-> { subject.send(:convert_byte_to_access_rights, :export) }.should raise_error(ArgumentError)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it 'returns correct rights array flag' do
|
|
40
|
+
subject.send(:convert_byte_to_access_rights, 13).should =~ rights.map(&:to_sym)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe GroupDocs::Api::Helpers::ByteFlag do
|
|
4
|
+
subject do
|
|
5
|
+
GroupDocs::User.new
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
let(:value_to_byte) { GroupDocs::Api::Helpers::AccessRights::ACCESS_RIGHTS }
|
|
9
|
+
|
|
10
|
+
describe '#byte_from_array' do
|
|
11
|
+
it 'returns correct byte flag' do
|
|
12
|
+
values = value_to_byte.map { |k, _| k }
|
|
13
|
+
subject.byte_from_array(values, value_to_byte).should == 15
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
describe '#array_from_byte' do
|
|
18
|
+
it 'returns correct byte flag' do
|
|
19
|
+
values = subject.array_from_byte(15, value_to_byte)
|
|
20
|
+
values.should =~ value_to_byte.map { |k, _| k }
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe GroupDocs::Document::Annotation::Reviewer do
|
|
4
|
+
|
|
5
|
+
it_behaves_like GroupDocs::Api::Entity
|
|
6
|
+
|
|
7
|
+
describe '.all!' do
|
|
8
|
+
before(:each) do
|
|
9
|
+
mock_api_server(load_json('annotation_reviewers_get'))
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it 'accepts access credentials hash' do
|
|
13
|
+
lambda do
|
|
14
|
+
described_class.all!(client_id: 'client_id', private_key: 'private_key')
|
|
15
|
+
end.should_not raise_error(ArgumentError)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'returns an array of GroupDocs::Document::Annotation::Reviewer objects' do
|
|
19
|
+
reviewers = described_class.all!
|
|
20
|
+
reviewers.should be_an(Array)
|
|
21
|
+
reviewers.each do |reviewer|
|
|
22
|
+
reviewer.should be_a(GroupDocs::Document::Annotation::Reviewer)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
describe '.set!' do
|
|
28
|
+
before(:each) do
|
|
29
|
+
mock_api_server(load_json('annotation_reviewers_get'))
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
let!(:reviewers) { [described_class.new(email_address: 'test@test.com')] }
|
|
33
|
+
|
|
34
|
+
it 'accepts access credentials hash' do
|
|
35
|
+
lambda do
|
|
36
|
+
described_class.set!(reviewers, client_id: 'client_id', private_key: 'private_key')
|
|
37
|
+
end.should_not raise_error(ArgumentError)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it 'uses hashed version of reviewers' do
|
|
41
|
+
reviewers.each do |reviewer|
|
|
42
|
+
reviewer.should_receive(:to_hash)
|
|
43
|
+
end
|
|
44
|
+
described_class.set! reviewers
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
it { should respond_to(:emailAddress) }
|
|
49
|
+
it { should respond_to(:emailAddress=) }
|
|
50
|
+
it { should respond_to(:FullName) }
|
|
51
|
+
it { should respond_to(:FullName=) }
|
|
52
|
+
|
|
53
|
+
it { should have_alias(:email_address, :emailAddress) }
|
|
54
|
+
it { should have_alias(:email_address=, :emailAddress=) }
|
|
55
|
+
it { should have_alias(:full_name, :FullName) }
|
|
56
|
+
it { should have_alias(:full_name=, :FullName=) }
|
|
57
|
+
end
|
|
@@ -184,50 +184,6 @@ describe GroupDocs::Document::Annotation do
|
|
|
184
184
|
end
|
|
185
185
|
end
|
|
186
186
|
|
|
187
|
-
describe '#collaborators!' do
|
|
188
|
-
before(:each) do
|
|
189
|
-
mock_api_server(load_json('annotation_collaborators_get'))
|
|
190
|
-
end
|
|
191
|
-
|
|
192
|
-
it 'accepts access credentials hash' do
|
|
193
|
-
lambda do
|
|
194
|
-
subject.collaborators!(client_id: 'client_id', private_key: 'private_key')
|
|
195
|
-
end.should_not raise_error(ArgumentError)
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
it 'returns an array of GroupDocs::User objects' do
|
|
199
|
-
users = subject.collaborators!
|
|
200
|
-
users.should be_an(Array)
|
|
201
|
-
users.each do |user|
|
|
202
|
-
user.should be_a(GroupDocs::User)
|
|
203
|
-
end
|
|
204
|
-
end
|
|
205
|
-
end
|
|
206
|
-
|
|
207
|
-
describe '#collaborators_set!' do
|
|
208
|
-
before(:each) do
|
|
209
|
-
mock_api_server(load_json('annotation_collaborators_set'))
|
|
210
|
-
end
|
|
211
|
-
|
|
212
|
-
it 'accepts access credentials hash' do
|
|
213
|
-
lambda do
|
|
214
|
-
subject.collaborators_set!(%w(test1@email.com), client_id: 'client_id', private_key: 'private_key')
|
|
215
|
-
end.should_not raise_error(ArgumentError)
|
|
216
|
-
end
|
|
217
|
-
|
|
218
|
-
it 'returns an array of GroupDocs::User objects' do
|
|
219
|
-
users = subject.collaborators_set!(%w(test1@email.com))
|
|
220
|
-
users.should be_an(Array)
|
|
221
|
-
users.each do |user|
|
|
222
|
-
user.should be_a(GroupDocs::User)
|
|
223
|
-
end
|
|
224
|
-
end
|
|
225
|
-
|
|
226
|
-
it 'is aliased to #collaborators=' do
|
|
227
|
-
subject.should have_alias(:collaborators=, :collaborators_set!)
|
|
228
|
-
end
|
|
229
|
-
end
|
|
230
|
-
|
|
231
187
|
describe '#remove!' do
|
|
232
188
|
before(:each) do
|
|
233
189
|
mock_api_server(load_json('annotation_remove'))
|
|
@@ -265,6 +221,18 @@ describe GroupDocs::Document::Annotation do
|
|
|
265
221
|
end
|
|
266
222
|
end
|
|
267
223
|
|
|
224
|
+
describe '#move_marker!' do
|
|
225
|
+
before(:each) do
|
|
226
|
+
mock_api_server('{ "status": "Ok", "result": {}}')
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
it 'accepts access credentials hash' do
|
|
230
|
+
lambda do
|
|
231
|
+
subject.move_marker!(10, 10, client_id: 'client_id', private_key: 'private_key')
|
|
232
|
+
end.should_not raise_error(ArgumentError)
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
|
|
268
236
|
describe '#set_access!' do
|
|
269
237
|
before(:each) do
|
|
270
238
|
mock_api_server(load_json('annotation_access_set'))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -494,6 +494,144 @@ describe GroupDocs::Document do
|
|
|
494
494
|
end
|
|
495
495
|
end
|
|
496
496
|
|
|
497
|
+
|
|
498
|
+
describe '#collaborators!' do
|
|
499
|
+
before(:each) do
|
|
500
|
+
mock_api_server(load_json('annotation_collaborators_get'))
|
|
501
|
+
end
|
|
502
|
+
|
|
503
|
+
it 'accepts access credentials hash' do
|
|
504
|
+
lambda do
|
|
505
|
+
subject.collaborators!(client_id: 'client_id', private_key: 'private_key')
|
|
506
|
+
end.should_not raise_error(ArgumentError)
|
|
507
|
+
end
|
|
508
|
+
|
|
509
|
+
it 'returns an array of GroupDocs::User objects' do
|
|
510
|
+
users = subject.collaborators!
|
|
511
|
+
users.should be_an(Array)
|
|
512
|
+
users.each do |user|
|
|
513
|
+
user.should be_a(GroupDocs::User)
|
|
514
|
+
end
|
|
515
|
+
end
|
|
516
|
+
end
|
|
517
|
+
|
|
518
|
+
describe '#set_collaborators!' do
|
|
519
|
+
before(:each) do
|
|
520
|
+
mock_api_server(load_json('annotation_collaborators_set'))
|
|
521
|
+
end
|
|
522
|
+
|
|
523
|
+
it 'accepts access credentials hash' do
|
|
524
|
+
lambda do
|
|
525
|
+
subject.set_collaborators!(%w(test1@email.com), 1, client_id: 'client_id', private_key: 'private_key')
|
|
526
|
+
end.should_not raise_error(ArgumentError)
|
|
527
|
+
end
|
|
528
|
+
|
|
529
|
+
it 'accepts version' do
|
|
530
|
+
lambda do
|
|
531
|
+
subject.set_collaborators!(%w(test1@email.com), 1)
|
|
532
|
+
end.should_not raise_error(ArgumentError)
|
|
533
|
+
end
|
|
534
|
+
|
|
535
|
+
it 'returns an array of GroupDocs::User objects' do
|
|
536
|
+
users = subject.set_collaborators!(%w(test1@email.com))
|
|
537
|
+
users.should be_an(Array)
|
|
538
|
+
users.each do |user|
|
|
539
|
+
user.should be_a(GroupDocs::User)
|
|
540
|
+
end
|
|
541
|
+
end
|
|
542
|
+
end
|
|
543
|
+
|
|
544
|
+
describe '#add_collaborator!' do
|
|
545
|
+
before(:each) do
|
|
546
|
+
mock_api_server(load_json('annotation_collaborators_get'))
|
|
547
|
+
end
|
|
548
|
+
|
|
549
|
+
let!(:collaborator) { GroupDocs::User.new }
|
|
550
|
+
|
|
551
|
+
it 'accepts access credentials hash' do
|
|
552
|
+
lambda do
|
|
553
|
+
subject.add_collaborator!(collaborator, client_id: 'client_id', private_key: 'private_key')
|
|
554
|
+
end.should_not raise_error(ArgumentError)
|
|
555
|
+
end
|
|
556
|
+
|
|
557
|
+
it 'uses hashed version of collaborator as request body' do
|
|
558
|
+
collaborator.should_receive(:to_hash)
|
|
559
|
+
subject.add_collaborator! collaborator
|
|
560
|
+
end
|
|
561
|
+
|
|
562
|
+
it 'raises error if collaborator is not an instance of GroupDocs::User' do
|
|
563
|
+
-> { subject.add_collaborator!('collaborator') }.should raise_error(ArgumentError)
|
|
564
|
+
end
|
|
565
|
+
end
|
|
566
|
+
|
|
567
|
+
describe '#set_reviewers!' do
|
|
568
|
+
before(:each) do
|
|
569
|
+
mock_api_server('{ "status": "Ok", "result": {}}')
|
|
570
|
+
end
|
|
571
|
+
|
|
572
|
+
let!(:reviewers) { [GroupDocs::User.new, GroupDocs::User.new] }
|
|
573
|
+
|
|
574
|
+
it 'accepts access credentials hash' do
|
|
575
|
+
lambda do
|
|
576
|
+
subject.set_reviewers!(reviewers, client_id: 'client_id', private_key: 'private_key')
|
|
577
|
+
end.should_not raise_error(ArgumentError)
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
it 'uses hashed version of each reviewer as request body' do
|
|
581
|
+
reviewers.each do |reviewer|
|
|
582
|
+
reviewer.should_receive(:to_hash)
|
|
583
|
+
end
|
|
584
|
+
subject.set_reviewers! reviewers
|
|
585
|
+
end
|
|
586
|
+
end
|
|
587
|
+
|
|
588
|
+
describe '#shared_link_access_rights!' do
|
|
589
|
+
before(:each) do
|
|
590
|
+
mock_api_server('{ "status": "Ok", "result": { "accessRights": 15 }}')
|
|
591
|
+
end
|
|
592
|
+
|
|
593
|
+
it 'accepts access credentials hash' do
|
|
594
|
+
lambda do
|
|
595
|
+
subject.shared_link_access_rights!(client_id: 'client_id', private_key: 'private_key')
|
|
596
|
+
end.should_not raise_error(ArgumentError)
|
|
597
|
+
end
|
|
598
|
+
|
|
599
|
+
it 'converts response byte flag into array of access rights' do
|
|
600
|
+
subject.should_receive(:convert_byte_to_access_rights).with(15)
|
|
601
|
+
subject.shared_link_access_rights!
|
|
602
|
+
end
|
|
603
|
+
|
|
604
|
+
it 'returns array of access rights symbols' do
|
|
605
|
+
access_rights = subject.shared_link_access_rights!
|
|
606
|
+
access_rights.should be_an(Array)
|
|
607
|
+
access_rights.each do |access_right|
|
|
608
|
+
access_right.should be_a(Symbol)
|
|
609
|
+
end
|
|
610
|
+
end
|
|
611
|
+
|
|
612
|
+
it 'returns empty array if access rights is null' do
|
|
613
|
+
mock_api_server('{ "status": "Ok", "result": { "accessRights": null }}')
|
|
614
|
+
subject.shared_link_access_rights!.should be_empty
|
|
615
|
+
end
|
|
616
|
+
end
|
|
617
|
+
|
|
618
|
+
describe '#set_shared_link_access_rights!' do
|
|
619
|
+
before(:each) do
|
|
620
|
+
mock_api_server('{ "status": "Ok", "result": {}}')
|
|
621
|
+
end
|
|
622
|
+
|
|
623
|
+
it 'accepts access credentials hash' do
|
|
624
|
+
lambda do
|
|
625
|
+
subject.set_shared_link_access_rights!(%w(view), client_id: 'client_id', private_key: 'private_key')
|
|
626
|
+
end.should_not raise_error(ArgumentError)
|
|
627
|
+
end
|
|
628
|
+
|
|
629
|
+
it 'converts array of access rights into byte flag' do
|
|
630
|
+
subject.should_receive(:convert_access_rights_to_byte).with(%w(view))
|
|
631
|
+
subject.set_shared_link_access_rights! %w(view)
|
|
632
|
+
end
|
|
633
|
+
end
|
|
634
|
+
|
|
497
635
|
describe '#method_missing' do
|
|
498
636
|
it 'passes unknown methods to file object' do
|
|
499
637
|
-> { subject.name }.should_not raise_error(NoMethodError)
|
|
File without changes
|
data/spec/groupdocs/job_spec.rb
CHANGED
|
@@ -268,9 +268,51 @@ describe GroupDocs::Job do
|
|
|
268
268
|
mock_api_server(load_json('job_update'))
|
|
269
269
|
end
|
|
270
270
|
|
|
271
|
+
it 'accepts access credentials hash' do
|
|
272
|
+
lambda do
|
|
273
|
+
subject.update!({}, client_id: 'client_id', private_key: 'private_key')
|
|
274
|
+
end.should_not raise_error(ArgumentError)
|
|
275
|
+
end
|
|
276
|
+
|
|
271
277
|
it 'parses status' do
|
|
272
278
|
subject.should_receive(:parse_status).with(:draft).and_return(-1)
|
|
273
279
|
subject.update!(status: :draft)
|
|
274
280
|
end
|
|
275
281
|
end
|
|
282
|
+
|
|
283
|
+
describe '#delete!' do
|
|
284
|
+
before(:each) do
|
|
285
|
+
mock_api_server('{ "status": "Ok", "result": {} }')
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
it 'accepts access credentials hash' do
|
|
289
|
+
lambda do
|
|
290
|
+
subject.delete!(client_id: 'client_id', private_key: 'private_key')
|
|
291
|
+
end.should_not raise_error(ArgumentError)
|
|
292
|
+
end
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
describe '#convert_actions_to_byte' do
|
|
296
|
+
let(:actions) { %w(convert compare) }
|
|
297
|
+
|
|
298
|
+
it 'raises error if actions is not an array' do
|
|
299
|
+
-> { described_class.convert_actions_to_byte(:export) }.should raise_error(ArgumentError)
|
|
300
|
+
end
|
|
301
|
+
|
|
302
|
+
it 'raises error if action is unknown' do
|
|
303
|
+
-> { described_class.convert_actions_to_byte(%w(unknown)) }.should raise_error(ArgumentError)
|
|
304
|
+
end
|
|
305
|
+
|
|
306
|
+
it 'converts each action to Symbol' do
|
|
307
|
+
actions.each do |action|
|
|
308
|
+
symbol = action.to_sym
|
|
309
|
+
action.should_receive(:to_sym).and_return(symbol)
|
|
310
|
+
end
|
|
311
|
+
described_class.convert_actions_to_byte(actions)
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
it 'returns correct byte flag' do
|
|
315
|
+
described_class.convert_actions_to_byte(actions).should == 257
|
|
316
|
+
end
|
|
317
|
+
end
|
|
276
318
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/groupdocs/user_spec.rb
CHANGED
|
@@ -20,46 +20,71 @@ describe GroupDocs::User do
|
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
it { should respond_to(:id)
|
|
24
|
-
it { should respond_to(:id=)
|
|
25
|
-
it { should respond_to(:guid)
|
|
26
|
-
it { should respond_to(:guid=)
|
|
27
|
-
it { should respond_to(:nickname)
|
|
28
|
-
it { should respond_to(:nickname=)
|
|
29
|
-
it { should respond_to(:firstname)
|
|
30
|
-
it { should respond_to(:firstname=)
|
|
31
|
-
it { should respond_to(:lastname)
|
|
32
|
-
it { should respond_to(:lastname=)
|
|
33
|
-
it { should respond_to(:primary_email)
|
|
34
|
-
it { should respond_to(:primary_email=)
|
|
35
|
-
it { should respond_to(:private_key)
|
|
36
|
-
it { should respond_to(:private_key=)
|
|
37
|
-
it { should respond_to(:password_salt)
|
|
38
|
-
it { should respond_to(:password_salt=)
|
|
39
|
-
it { should respond_to(:claimed_id)
|
|
40
|
-
it { should respond_to(:claimed_id=)
|
|
41
|
-
it { should respond_to(:token)
|
|
42
|
-
it { should respond_to(:token=)
|
|
43
|
-
it { should respond_to(:storage)
|
|
44
|
-
it { should respond_to(:storage=)
|
|
45
|
-
it { should respond_to(:photo)
|
|
46
|
-
it { should respond_to(:photo=)
|
|
47
|
-
it { should respond_to(:active)
|
|
48
|
-
it { should respond_to(:active=)
|
|
49
|
-
it { should respond_to(:news_enabled)
|
|
50
|
-
it { should respond_to(:news_enabled=)
|
|
51
|
-
it { should respond_to(:signed_up_on)
|
|
52
|
-
it { should respond_to(:signed_up_on=)
|
|
53
|
-
|
|
54
|
-
it { should
|
|
55
|
-
it { should
|
|
56
|
-
it { should
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
it { should have_alias(:
|
|
23
|
+
it { should respond_to(:id) }
|
|
24
|
+
it { should respond_to(:id=) }
|
|
25
|
+
it { should respond_to(:guid) }
|
|
26
|
+
it { should respond_to(:guid=) }
|
|
27
|
+
it { should respond_to(:nickname) }
|
|
28
|
+
it { should respond_to(:nickname=) }
|
|
29
|
+
it { should respond_to(:firstname) }
|
|
30
|
+
it { should respond_to(:firstname=) }
|
|
31
|
+
it { should respond_to(:lastname) }
|
|
32
|
+
it { should respond_to(:lastname=) }
|
|
33
|
+
it { should respond_to(:primary_email) }
|
|
34
|
+
it { should respond_to(:primary_email=) }
|
|
35
|
+
it { should respond_to(:private_key) }
|
|
36
|
+
it { should respond_to(:private_key=) }
|
|
37
|
+
it { should respond_to(:password_salt) }
|
|
38
|
+
it { should respond_to(:password_salt=) }
|
|
39
|
+
it { should respond_to(:claimed_id) }
|
|
40
|
+
it { should respond_to(:claimed_id=) }
|
|
41
|
+
it { should respond_to(:token) }
|
|
42
|
+
it { should respond_to(:token=) }
|
|
43
|
+
it { should respond_to(:storage) }
|
|
44
|
+
it { should respond_to(:storage=) }
|
|
45
|
+
it { should respond_to(:photo) }
|
|
46
|
+
it { should respond_to(:photo=) }
|
|
47
|
+
it { should respond_to(:active) }
|
|
48
|
+
it { should respond_to(:active=) }
|
|
49
|
+
it { should respond_to(:news_enabled) }
|
|
50
|
+
it { should respond_to(:news_enabled=) }
|
|
51
|
+
it { should respond_to(:signed_up_on) }
|
|
52
|
+
it { should respond_to(:signed_up_on=) }
|
|
53
|
+
it { should respond_to(:color) }
|
|
54
|
+
it { should respond_to(:color=) }
|
|
55
|
+
it { should respond_to(:customEmailMessage) }
|
|
56
|
+
it { should respond_to(:customEmailMessage=) }
|
|
57
|
+
|
|
58
|
+
it { should have_alias(:first_name, :firstname) }
|
|
59
|
+
it { should have_alias(:first_name=, :firstname=) }
|
|
60
|
+
it { should have_alias(:last_name, :lastname) }
|
|
61
|
+
it { should have_alias(:last_name=, :lastname=) }
|
|
62
|
+
it { should have_alias(:custom_email_message, :customEmailMessage) }
|
|
63
|
+
it { should have_alias(:custom_email_message=, :customEmailMessage=) }
|
|
64
|
+
|
|
65
|
+
it { should have_alias(:pkey=, :private_key=) }
|
|
60
66
|
it { should have_alias(:pswd_salt=, :password_salt=) }
|
|
61
67
|
it { should have_alias(:signedupOn=, :signed_up_on=) }
|
|
62
68
|
|
|
69
|
+
describe '#access_rights' do
|
|
70
|
+
it 'returns rights in human-readable format' do
|
|
71
|
+
subject.instance_variable_set(:@access_rights, 15)
|
|
72
|
+
subject.access_rights.should =~ [:export, :view, :proof, :download]
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
describe '#access_rights=' do
|
|
77
|
+
it 'converts rights in machine-readable format if array is passed' do
|
|
78
|
+
subject.access_rights = %w(export view proof download)
|
|
79
|
+
subject.instance_variable_get(:@access_rights).should == 15
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
it 'does nothing if not array is passed' do
|
|
83
|
+
subject.access_rights = 15
|
|
84
|
+
subject.instance_variable_get(:@access_rights).should == 15
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
63
88
|
describe '#signed_up_on' do
|
|
64
89
|
it 'returns converted to Time object Unix timestamp' do
|
|
65
90
|
subject.signed_up_on = 1330450135000
|
data/spec/groupdocs_spec.rb
CHANGED
|
File without changes
|