Skip to content

Commit 4a3475f

Browse files
committed
Adding UserTest based on User examples in README.md.
1 parent 7c0f366 commit 4a3475f

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed

tests/integration/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# -*- coding: utf-8 -*-

tests/integration/test_user.py

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# -*- coding: utf-8 -*-
2+
3+
import os
4+
import unittest
5+
from intercom import Intercom
6+
from intercom.user import User
7+
8+
Intercom.app_id = os.environ.get('INTERCOM_APP_ID')
9+
Intercom.app_api_key = os.environ.get('INTERCOM_APP_API_KEY')
10+
11+
12+
class UserTest(unittest.TestCase):
13+
email = "ada@example.com"
14+
15+
@classmethod
16+
def setup_class(cls):
17+
# get user
18+
cls.user = User.find(email=cls.email)
19+
if not hasattr(cls.user, 'user_id'):
20+
# Create a user
21+
cls.user = User.create(
22+
email=cls.email,
23+
user_id="ada",
24+
name="Ada Lovelace")
25+
print cls.user.id
26+
27+
def test_find_by_email(self):
28+
# Find user by email
29+
user = User.find(email=self.email)
30+
print user
31+
self.assertEqual(self.email, user.email)
32+
33+
def test_find_by_user_id(self):
34+
# Find user by email
35+
user = User.find(user_id="ada")
36+
self.assertEqual(self.email, user.email)
37+
38+
def test_find_by_id(self):
39+
# Find user by id
40+
user = User.find(id=self.user.id)
41+
self.assertEqual(self.email, user.email)
42+
43+
def test_custom_attributes(self):
44+
# Update custom_attributes for a user
45+
user = User.find(id=self.user.id)
46+
user.custom_attributes["average_monthly_spend"] = 1234.56
47+
user.save()
48+
user = User.find(id=self.user.id)
49+
self.assertEqual(
50+
user.custom_attributes["average_monthly_spend"], 1234.56)
51+
52+
def test_increment(self):
53+
# Perform incrementing
54+
user = User.find(id=self.user.id)
55+
karma = user.custom_attributes.get('karma', 0)
56+
user.increment('karma')
57+
user.save()
58+
self.assertEqual(user.custom_attributes["karma"], karma + 1)
59+
user.increment('karma')
60+
user.save()
61+
self.assertEqual(user.custom_attributes["karma"], karma + 2)
62+
63+
def test_iterate(self):
64+
# Iterate over all users
65+
for user in User.all():
66+
self.assertTrue(user.id is not None)

0 commit comments

Comments
 (0)