upwork-api 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.docgen +1 -0
- data/.gitignore +22 -0
- data/.travis.yml +16 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +176 -0
- data/README.md +79 -0
- data/Rakefile +12 -0
- data/example/myapp.rb +59 -0
- data/lib/upwork/api.rb +29 -0
- data/lib/upwork/api/client.rb +163 -0
- data/lib/upwork/api/config.rb +42 -0
- data/lib/upwork/api/logger.rb +35 -0
- data/lib/upwork/api/routers/activities/engagement.rb +54 -0
- data/lib/upwork/api/routers/activities/team.rb +117 -0
- data/lib/upwork/api/routers/auth.rb +38 -0
- data/lib/upwork/api/routers/freelancers/profile.rb +52 -0
- data/lib/upwork/api/routers/freelancers/search.rb +43 -0
- data/lib/upwork/api/routers/hr/clients/applications.rb +55 -0
- data/lib/upwork/api/routers/hr/clients/offers.rb +64 -0
- data/lib/upwork/api/routers/hr/contracts.rb +64 -0
- data/lib/upwork/api/routers/hr/engagements.rb +52 -0
- data/lib/upwork/api/routers/hr/freelancers/applications.rb +54 -0
- data/lib/upwork/api/routers/hr/freelancers/offers.rb +64 -0
- data/lib/upwork/api/routers/hr/interviews.rb +44 -0
- data/lib/upwork/api/routers/hr/jobs.rb +79 -0
- data/lib/upwork/api/routers/hr/milestones.rb +100 -0
- data/lib/upwork/api/routers/hr/roles.rb +49 -0
- data/lib/upwork/api/routers/hr/submissions.rb +63 -0
- data/lib/upwork/api/routers/jobs/profile.rb +43 -0
- data/lib/upwork/api/routers/jobs/search.rb +43 -0
- data/lib/upwork/api/routers/mc.rb +113 -0
- data/lib/upwork/api/routers/metadata.rb +71 -0
- data/lib/upwork/api/routers/organization/companies.rb +67 -0
- data/lib/upwork/api/routers/organization/teams.rb +49 -0
- data/lib/upwork/api/routers/organization/users.rb +49 -0
- data/lib/upwork/api/routers/payments.rb +42 -0
- data/lib/upwork/api/routers/reports/finance/accounts.rb +56 -0
- data/lib/upwork/api/routers/reports/finance/billings.rb +86 -0
- data/lib/upwork/api/routers/reports/finance/earnings.rb +86 -0
- data/lib/upwork/api/routers/reports/time.rb +114 -0
- data/lib/upwork/api/routers/snapshot.rb +95 -0
- data/lib/upwork/api/routers/teams.rb +47 -0
- data/lib/upwork/api/routers/workdiary.rb +53 -0
- data/lib/upwork/api/version.rb +18 -0
- data/test/helper.rb +21 -0
- data/test/test_activities_engagement.rb +21 -0
- data/test/test_activities_team.rb +46 -0
- data/test/test_auth.rb +16 -0
- data/test/test_client.rb +47 -0
- data/test/test_config.rb +25 -0
- data/test/test_freelancers_profile.rb +22 -0
- data/test/test_freelancers_search.rb +16 -0
- data/test/test_hr_clients_applications.rb +21 -0
- data/test/test_hr_clients_offers.rb +26 -0
- data/test/test_hr_contracts.rb +26 -0
- data/test/test_hr_engagements.rb +21 -0
- data/test/test_hr_freelancers_applications.rb +21 -0
- data/test/test_hr_freelancers_offers.rb +26 -0
- data/test/test_hr_interviews.rb +16 -0
- data/test/test_hr_jobs.rb +36 -0
- data/test/test_hr_milestones.rb +46 -0
- data/test/test_hr_roles.rb +21 -0
- data/test/test_hr_submissions.rb +26 -0
- data/test/test_jobs_profile.rb +16 -0
- data/test/test_jobs_search.rb +16 -0
- data/test/test_logger.rb +15 -0
- data/test/test_mc.rb +51 -0
- data/test/test_metadata.rb +41 -0
- data/test/test_organization_companies.rb +31 -0
- data/test/test_organization_teams.rb +21 -0
- data/test/test_organization_users.rb +21 -0
- data/test/test_payments.rb +16 -0
- data/test/test_reports_finance_accounts.rb +21 -0
- data/test/test_reports_finance_billings.rb +36 -0
- data/test/test_reports_finance_earnings.rb +36 -0
- data/test/test_reports_time.rb +41 -0
- data/test/test_snapshot.rb +41 -0
- data/test/test_teams.rb +21 -0
- data/test/test_workdiary.rb +21 -0
- data/upwork-api.gemspec +27 -0
- metadata +242 -0
@@ -0,0 +1,95 @@
|
|
1
|
+
# Licensed under the Upwork's API Terms of Use;
|
2
|
+
# you may not use this file except in compliance with the Terms.
|
3
|
+
#
|
4
|
+
# Unless required by applicable law or agreed to in writing, software
|
5
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
6
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
7
|
+
# See the License for the specific language governing permissions and
|
8
|
+
# limitations under the License.
|
9
|
+
#
|
10
|
+
# Author:: Maksym Novozhylov (mnovozhilov@upwork.com)
|
11
|
+
# Copyright:: Copyright 2014(c) Upwork.com
|
12
|
+
# License:: See LICENSE.txt and TOS - https://developers.upwork.com/api-tos.html
|
13
|
+
|
14
|
+
module Upwork
|
15
|
+
module Api
|
16
|
+
module Routers
|
17
|
+
# Snapshot
|
18
|
+
class Snapshot
|
19
|
+
ENTRY_POINT = 'api'
|
20
|
+
|
21
|
+
# Init
|
22
|
+
#
|
23
|
+
# Arguments:
|
24
|
+
# client: (Client)
|
25
|
+
def initialize(client)
|
26
|
+
@client = client
|
27
|
+
@client.epoint = ENTRY_POINT
|
28
|
+
end
|
29
|
+
|
30
|
+
# Get snapshot info
|
31
|
+
#
|
32
|
+
# Arguments:
|
33
|
+
# company: (String)
|
34
|
+
# username: (String)
|
35
|
+
# ts: (String)
|
36
|
+
def get(company, username, ts)
|
37
|
+
$LOG.i "running " + __method__.to_s
|
38
|
+
@client.get '/team/v1/snapshots/' + company + '/' + username + '/' + ts
|
39
|
+
end
|
40
|
+
|
41
|
+
# Update snapshot
|
42
|
+
#
|
43
|
+
# Arguments:
|
44
|
+
# company: (String)
|
45
|
+
# username: (String)
|
46
|
+
# ts: (String)
|
47
|
+
# params: (Hash)
|
48
|
+
def update(company, username, ts, params)
|
49
|
+
$LOG.i "running " + __method__.to_s
|
50
|
+
@client.put '/team/v1/snapshots/' + company + '/' + username + '/' + ts, params
|
51
|
+
end
|
52
|
+
|
53
|
+
# Delete snapshot
|
54
|
+
# Arguments:
|
55
|
+
# company: (String)
|
56
|
+
# username: (String)
|
57
|
+
# ts: (String)
|
58
|
+
def delete(company, username, ts)
|
59
|
+
$LOG.i "running " + __method__.to_s
|
60
|
+
@client.delete '/team/v1/snapshots/' + company + '/' + username + '/' + ts
|
61
|
+
end
|
62
|
+
|
63
|
+
# Get snapshot info by specific contract
|
64
|
+
#
|
65
|
+
# Arguments:
|
66
|
+
# contract: (String)
|
67
|
+
# ts: (String)
|
68
|
+
def get_by_contract(contract, ts)
|
69
|
+
$LOG.i "running " + __method__.to_s
|
70
|
+
@client.get '/team/v2/snapshots/contracts/' + contract + '/' + ts
|
71
|
+
end
|
72
|
+
|
73
|
+
# Update snapshot by specific contract
|
74
|
+
#
|
75
|
+
# Arguments:
|
76
|
+
# contract: (String)
|
77
|
+
# ts: (String)
|
78
|
+
# params: (Hash)
|
79
|
+
def update_by_contract(contract, ts, params)
|
80
|
+
$LOG.i "running " + __method__.to_s
|
81
|
+
@client.put '/team/v2/snapshots/contracts/' + contract + '/' + ts, params
|
82
|
+
end
|
83
|
+
|
84
|
+
# Delete snapshot by specific contract
|
85
|
+
# Arguments:
|
86
|
+
# contract: (String)
|
87
|
+
# ts: (String)
|
88
|
+
def delete_by_contract(contract, ts)
|
89
|
+
$LOG.i "running " + __method__.to_s
|
90
|
+
@client.delete '/team/v2/snapshots/contracts/' + contract + '/' + ts
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# Licensed under the Upwork's API Terms of Use;
|
2
|
+
# you may not use this file except in compliance with the Terms.
|
3
|
+
#
|
4
|
+
# Unless required by applicable law or agreed to in writing, software
|
5
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
6
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
7
|
+
# See the License for the specific language governing permissions and
|
8
|
+
# limitations under the License.
|
9
|
+
#
|
10
|
+
# Author:: Maksym Novozhylov (mnovozhilov@upwork.com)
|
11
|
+
# Copyright:: Copyright 2014(c) Upwork.com
|
12
|
+
# License:: See LICENSE.txt and TOS - https://developers.upwork.com/api-tos.html
|
13
|
+
|
14
|
+
module Upwork
|
15
|
+
module Api
|
16
|
+
module Routers
|
17
|
+
# Team API
|
18
|
+
class Teams
|
19
|
+
ENTRY_POINT = 'api'
|
20
|
+
|
21
|
+
# Init
|
22
|
+
#
|
23
|
+
# Arguments:
|
24
|
+
# client: (Client)
|
25
|
+
def initialize(client)
|
26
|
+
@client = client
|
27
|
+
@client.epoint = ENTRY_POINT
|
28
|
+
end
|
29
|
+
|
30
|
+
# Get Team Rooms
|
31
|
+
def get_list
|
32
|
+
$LOG.i "running " + __method__.to_s
|
33
|
+
@client.get '/team/v2/teamrooms'
|
34
|
+
end
|
35
|
+
|
36
|
+
# Get specific team or company
|
37
|
+
# Arguments:
|
38
|
+
# team: (String)
|
39
|
+
# params: (Hash)
|
40
|
+
def get_specific(team, params)
|
41
|
+
$LOG.i "running " + __method__.to_s
|
42
|
+
@client.get '/team/v2/teamrooms/' + team, params
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# Licensed under the Upwork's API Terms of Use;
|
2
|
+
# you may not use this file except in compliance with the Terms.
|
3
|
+
#
|
4
|
+
# Unless required by applicable law or agreed to in writing, software
|
5
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
6
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
7
|
+
# See the License for the specific language governing permissions and
|
8
|
+
# limitations under the License.
|
9
|
+
#
|
10
|
+
# Author:: Maksym Novozhylov (mnovozhilov@upwork.com)
|
11
|
+
# Copyright:: Copyright 2014(c) Upwork.com
|
12
|
+
# License:: See LICENSE.txt and TOS - https://developers.upwork.com/api-tos.html
|
13
|
+
|
14
|
+
module Upwork
|
15
|
+
module Api
|
16
|
+
module Routers
|
17
|
+
# Work Diary
|
18
|
+
class Workdiary
|
19
|
+
ENTRY_POINT = 'api'
|
20
|
+
|
21
|
+
# Init
|
22
|
+
#
|
23
|
+
# Arguments:
|
24
|
+
# client: (Client)
|
25
|
+
def initialize(client)
|
26
|
+
@client = client
|
27
|
+
@client.epoint = ENTRY_POINT
|
28
|
+
end
|
29
|
+
|
30
|
+
# Get Workdiary
|
31
|
+
# Arguments:
|
32
|
+
# company: (String)
|
33
|
+
# username: (String)
|
34
|
+
# date: (String)
|
35
|
+
# params: (Hash)
|
36
|
+
def get(company, username, date, params = {})
|
37
|
+
$LOG.i "running " + __method__.to_s
|
38
|
+
@client.get '/team/v1/workdiaries/' + company + '/' + username + '/' + date, params
|
39
|
+
end
|
40
|
+
|
41
|
+
# Get Work Diary by Contract
|
42
|
+
# Arguments:
|
43
|
+
# contract: (String)
|
44
|
+
# date: (String)
|
45
|
+
# params: (Hash)
|
46
|
+
def get_by_contract(contract, date, params = {})
|
47
|
+
$LOG.i "running " + __method__.to_s
|
48
|
+
@client.get '/team/v2/workdiaries/contracts/' + contract + '/' + date, params
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Licensed under the Upwork's API Terms of Use;
|
2
|
+
# you may not use this file except in compliance with the Terms.
|
3
|
+
#
|
4
|
+
# Unless required by applicable law or agreed to in writing, software
|
5
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
6
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
7
|
+
# See the License for the specific language governing permissions and
|
8
|
+
# limitations under the License.
|
9
|
+
#
|
10
|
+
# Author:: Maksym Novozhylov (mnovozhilov@upwork.com)
|
11
|
+
# Copyright:: Copyright 2014(c) Upwork.com
|
12
|
+
# License:: See LICENSE.txt and TOS - https://developers.upwork.com/api-tos.html
|
13
|
+
|
14
|
+
module Upwork # :nodoc:
|
15
|
+
module Api
|
16
|
+
VERSION = "1.0.0"
|
17
|
+
end
|
18
|
+
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
|
3
|
+
require 'upwork/api'
|
4
|
+
|
5
|
+
$LOG = Upwork::Api::Logger.new
|
6
|
+
|
7
|
+
module TestHelper
|
8
|
+
def get_client_mock
|
9
|
+
config = Upwork::Api::Config.new({
|
10
|
+
'consumer_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
|
11
|
+
'consumer_secret' => 'xxxxxxxxxxxxxxxx',
|
12
|
+
'access_token' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
|
13
|
+
'access_secret' => 'xxxxxxxxxxxxxxxx',
|
14
|
+
'debug' => false
|
15
|
+
})
|
16
|
+
|
17
|
+
client = Upwork::Api::Client.new(config)
|
18
|
+
client.expects(:send_request).returns(true)
|
19
|
+
client
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
$LOAD_PATH << File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
require 'upwork/api/routers/activities/engagement'
|
6
|
+
require 'test/unit'
|
7
|
+
require 'mocha/test_unit'
|
8
|
+
|
9
|
+
class ActivitiesEngagementTest < Test::Unit::TestCase
|
10
|
+
include TestHelper
|
11
|
+
|
12
|
+
def test_get_specific
|
13
|
+
api = Upwork::Api::Routers::Activities::Engagement.new(get_client_mock)
|
14
|
+
assert api.get_specific('1234')
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_assign
|
18
|
+
api = Upwork::Api::Routers::Activities::Engagement.new(get_client_mock)
|
19
|
+
assert api.assign('company', 'team', '1234', {})
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
$LOAD_PATH << File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
require 'upwork/api/routers/activities/team'
|
6
|
+
require 'test/unit'
|
7
|
+
require 'mocha/test_unit'
|
8
|
+
|
9
|
+
class ActivitiesTeamTest < Test::Unit::TestCase
|
10
|
+
include TestHelper
|
11
|
+
|
12
|
+
def test_get_list
|
13
|
+
api = Upwork::Api::Routers::Activities::Team.new(get_client_mock)
|
14
|
+
assert api.get_list('company', 'team')
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_get_specific_list
|
18
|
+
api = Upwork::Api::Routers::Activities::Team.new(get_client_mock)
|
19
|
+
assert api.get_specific_list('company', 'team', 'code')
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_add_activity
|
23
|
+
api = Upwork::Api::Routers::Activities::Team.new(get_client_mock)
|
24
|
+
assert api.add_activity('company', 'team', {})
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_update_activities
|
28
|
+
api = Upwork::Api::Routers::Activities::Team.new(get_client_mock)
|
29
|
+
assert api.update_activities('company', 'team', 'code', {})
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_archive_activities
|
33
|
+
api = Upwork::Api::Routers::Activities::Team.new(get_client_mock)
|
34
|
+
assert api.archive_activities('company', 'team', 'code')
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_unarchive_activities
|
38
|
+
api = Upwork::Api::Routers::Activities::Team.new(get_client_mock)
|
39
|
+
assert api.unarchive_activities('company', 'team', 'code')
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_update_batch
|
43
|
+
api = Upwork::Api::Routers::Activities::Team.new(get_client_mock)
|
44
|
+
assert api.update_batch('company', 'data')
|
45
|
+
end
|
46
|
+
end
|
data/test/test_auth.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
$LOAD_PATH << File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
require 'upwork/api/routers/auth'
|
6
|
+
require 'test/unit'
|
7
|
+
require 'mocha/test_unit'
|
8
|
+
|
9
|
+
class AuthTest < Test::Unit::TestCase
|
10
|
+
include TestHelper
|
11
|
+
|
12
|
+
def test_get_user_info
|
13
|
+
api = Upwork::Api::Routers::Auth.new(get_client_mock)
|
14
|
+
assert api.get_user_info
|
15
|
+
end
|
16
|
+
end
|
data/test/test_client.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
$LOAD_PATH << File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
require 'upwork/api/logger'
|
6
|
+
require 'upwork/api/config'
|
7
|
+
require 'upwork/api/client'
|
8
|
+
require 'test/unit'
|
9
|
+
require 'mocha/test_unit'
|
10
|
+
|
11
|
+
class ConfigTest < Test::Unit::TestCase
|
12
|
+
include TestHelper
|
13
|
+
|
14
|
+
def test_config_initialization
|
15
|
+
config = Upwork::Api::Config.new({
|
16
|
+
'consumer_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
|
17
|
+
'consumer_secret' => 'xxxxxxxxxxxxxxxx',
|
18
|
+
'access_token' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
|
19
|
+
'access_secret' => 'xxxxxxxxxxxxxxxx',
|
20
|
+
'debug' => false
|
21
|
+
})
|
22
|
+
|
23
|
+
client = Upwork::Api::Client.new(config)
|
24
|
+
client.epoint = 'gds'
|
25
|
+
|
26
|
+
assert_equal 'https://www.upwork.com/services/api/auth',client.url_auth
|
27
|
+
assert_equal 'https://www.upwork.com/api/auth/v1/oauth/token/request.json',client.url_rtoken
|
28
|
+
assert_equal 'https://www.upwork.com/api/auth/v1/oauth/token/access.json',client.url_atoken
|
29
|
+
assert_equal 'gds',client.epoint
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_get
|
33
|
+
assert get_client_mock.get('/some/api/url')
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_post
|
37
|
+
assert get_client_mock.post('/some/api/url', {})
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_put
|
41
|
+
assert get_client_mock.put('/some/api/url', {})
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_delete
|
45
|
+
assert get_client_mock.delete('/some/api/url', {})
|
46
|
+
end
|
47
|
+
end
|
data/test/test_config.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
|
3
|
+
require 'upwork/api/config'
|
4
|
+
require 'test/unit'
|
5
|
+
require 'mocha/test_unit'
|
6
|
+
|
7
|
+
class ConfigTest < Test::Unit::TestCase
|
8
|
+
def test_config_initialization
|
9
|
+
config = Upwork::Api::Config.new({
|
10
|
+
'consumer_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
|
11
|
+
'consumer_secret' => 'xxxxxxxxxxxxxxxx',
|
12
|
+
'access_token' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
|
13
|
+
'access_secret' => 'xxxxxxxxxxxxxxxx',
|
14
|
+
'signature_method'=> 'sig',
|
15
|
+
'debug' => false
|
16
|
+
})
|
17
|
+
|
18
|
+
assert_equal 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',config.consumer_key
|
19
|
+
assert_equal 'xxxxxxxxxxxxxxxx',config.consumer_secret
|
20
|
+
assert_equal 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',config.access_token
|
21
|
+
assert_equal 'xxxxxxxxxxxxxxxx',config.access_secret
|
22
|
+
assert_equal 'sig',config.signature_method
|
23
|
+
assert_equal false,config.debug
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
$LOAD_PATH << File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
require 'upwork/api/routers/freelancers/profile'
|
6
|
+
require 'test/unit'
|
7
|
+
require 'mocha/test_unit'
|
8
|
+
|
9
|
+
class FreelancersProfileTest < Test::Unit::TestCase
|
10
|
+
include TestHelper
|
11
|
+
|
12
|
+
def test_get_specific
|
13
|
+
api = Upwork::Api::Routers::Freelancers::Profile.new(get_client_mock)
|
14
|
+
assert api.get_specific('~key')
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_get_specific_brief
|
18
|
+
api = Upwork::Api::Routers::Freelancers::Profile.new(get_client_mock)
|
19
|
+
assert api.get_specific_brief('~key')
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
$LOAD_PATH << File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
require 'upwork/api/routers/freelancers/search'
|
6
|
+
require 'test/unit'
|
7
|
+
require 'mocha/test_unit'
|
8
|
+
|
9
|
+
class FreelancersSearchTest < Test::Unit::TestCase
|
10
|
+
include TestHelper
|
11
|
+
|
12
|
+
def test_find
|
13
|
+
api = Upwork::Api::Routers::Freelancers::Search.new(get_client_mock)
|
14
|
+
assert api.find({})
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
$:.unshift 'lib'
|
2
|
+
$LOAD_PATH << File.dirname(__FILE__)
|
3
|
+
|
4
|
+
require 'helper'
|
5
|
+
require 'upwork/api/routers/hr/clients/applications'
|
6
|
+
require 'test/unit'
|
7
|
+
require 'mocha/test_unit'
|
8
|
+
|
9
|
+
class HrClientsApplicationsTest < Test::Unit::TestCase
|
10
|
+
include TestHelper
|
11
|
+
|
12
|
+
def test_get_list
|
13
|
+
api = Upwork::Api::Routers::Hr::Clients::Applications.new(get_client_mock)
|
14
|
+
assert api.get_list({})
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_get_specific
|
18
|
+
api = Upwork::Api::Routers::Hr::Clients::Applications.new(get_client_mock)
|
19
|
+
assert api.get_specific('12', {})
|
20
|
+
end
|
21
|
+
end
|