Skip to content

Commit aa876e0

Browse files
committed
Adding users extended API operation.
1 parent 9adaa4e commit aa876e0

File tree

4 files changed

+22
-5
lines changed

4 files changed

+22
-5
lines changed

intercom/company.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
from intercom.api_operations.find import Find
55
from intercom.api_operations.load import Load
66
from intercom.api_operations.save import Save
7+
from intercom.extended_api_operations.users import Users
78

89

9-
class Company(Resource, Count, Find, All, Save, Load):
10+
class Company(Resource, Count, Find, All, Save, Load, Users):
1011
update_verb = 'post'
1112
identity_vars = ['id', 'company_id']
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# -*- coding: utf-8 -*-
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# -*- coding: utf-8 -*-
2+
3+
from intercom import utils
4+
from intercom.user import User
5+
from intercom.collection_proxy import CollectionProxy
6+
7+
8+
class Users(object):
9+
10+
@property
11+
def users(self):
12+
collection = utils.resource_class_to_collection_name(self.__class__)
13+
finder_url = "/%s/%s/users" % (collection, self.id)
14+
return CollectionProxy(User, "users", finder_url)

tests/integration/test_company.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@ def test_iterate(self):
8686
for company in Company.all():
8787
self.assertTrue(company.id is not None)
8888

89-
# def test_users(self):
90-
# company = Company.find(id=self.company.id)
91-
# # Get a list of users in a company
92-
# self.assertIsNotNone(company.users)
89+
def test_users(self):
90+
company = Company.find(id=self.company.id)
91+
# Get a list of users in a company
92+
for user in company.users:
93+
self.assertIsNotNone(user.email)

0 commit comments

Comments
 (0)