Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ed55e2e

Browse files
author
Jason Otero
committed
Added integration tests for customer, department, and deposit. Fixed a but on the Deposit object.
1 parent 7c2f036 commit ed55e2e

File tree

4 files changed

+152
-1
lines changed

4 files changed

+152
-1
lines changed

quickbooks/objects/deposit.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class DepositLineDetail(QuickbooksBaseObject):
4646
def __init__(self):
4747
super(DepositLineDetail, self).__init__()
4848
self.CheckNum = ""
49-
self.TxnType = ""
49+
self.TxnType = None
5050

5151
self.Entity = None
5252
self.ClassRef = None

tests/integration/test_customer.py

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
from datetime import datetime
2+
import os
3+
import unittest
4+
5+
from quickbooks.objects.customer import Customer
6+
7+
from quickbooks import QuickBooks
8+
9+
10+
class CustomerTest(unittest.TestCase):
11+
def setUp(self):
12+
self.qb_client = QuickBooks(
13+
sandbox=True,
14+
consumer_key=os.environ.get('CONSUMER_KEY'),
15+
consumer_secret=os.environ.get('CONSUMER_SECRET'),
16+
access_token=os.environ.get('ACCESS_TOKEN'),
17+
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
18+
company_id=os.environ.get('COMPANY_ID')
19+
)
20+
21+
self.title = "Mr"
22+
self.given_name = "James"
23+
self.middle_name = "B"
24+
self.family_name = "King"
25+
self.suffix = "Jr"
26+
self.fully_qualified_name = datetime.now().strftime('%d%H%M%S')
27+
self.company_name = datetime.now().strftime('%d%H%M%S')
28+
self.display_name = datetime.now().strftime('%d%H%M%S')
29+
30+
def test_create(self):
31+
customer = Customer()
32+
customer.Title = self.title
33+
customer.GivenName = self.given_name
34+
customer.MiddleName = self.middle_name
35+
customer.FamilyName = self.family_name
36+
customer.Suffix = self.suffix
37+
customer.FullyQualifiedName = self.fully_qualified_name
38+
customer.CompanyName = self.company_name
39+
customer.DisplayName = self.display_name
40+
customer.save(qb=self.qb_client)
41+
42+
self.Id = customer.Id
43+
44+
query_customer = Customer.get(customer.Id, qb=self.qb_client)
45+
46+
self.assertEquals(customer.Id, query_customer.Id)
47+
self.assertEqual(query_customer.Title, self.title)
48+
self.assertEqual(query_customer.GivenName, self.given_name)
49+
self.assertEqual(query_customer.MiddleName, self.middle_name)
50+
self.assertEqual(query_customer.FamilyName, self.family_name)
51+
self.assertEqual(query_customer.Suffix, self.suffix)
52+
self.assertEqual(query_customer.FullyQualifiedName, self.fully_qualified_name)
53+
self.assertEqual(query_customer.CompanyName, self.company_name)
54+
self.assertEqual(query_customer.DisplayName, self.display_name)
55+
56+
def test_update(self):
57+
customer = Customer.all(max_results=1, qb=self.qb_client)[0]
58+
unique_name = datetime.now().strftime('%d%H%M%S')
59+
60+
customer.GivenName = unique_name
61+
customer.save(qb=self.qb_client)
62+
63+
query_account = Customer.get(customer.Id, qb=self.qb_client)
64+
65+
self.assertEqual(query_account.GivenName, unique_name)

tests/integration/test_department.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import os
2+
import unittest
3+
from datetime import datetime
4+
5+
from quickbooks.objects.department import Department
6+
7+
from quickbooks import QuickBooks
8+
9+
10+
class DepartmentTest(unittest.TestCase):
11+
def setUp(self):
12+
self.qb_client = QuickBooks(
13+
sandbox=True,
14+
consumer_key=os.environ.get('CONSUMER_KEY'),
15+
consumer_secret=os.environ.get('CONSUMER_SECRET'),
16+
access_token=os.environ.get('ACCESS_TOKEN'),
17+
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
18+
company_id=os.environ.get('COMPANY_ID')
19+
)
20+
21+
self.name = "Test Department {0}".format(datetime.now().strftime('%d%H%M%S'))
22+
23+
def test_create(self):
24+
department = Department()
25+
department.Name = self.name
26+
department.save(qb=self.qb_client)
27+
28+
query_department = Department.get(department.Id, qb=self.qb_client)
29+
30+
self.assertEqual(department.Id, query_department.Id)
31+
self.assertEqual(query_department.Name, self.name)
32+
33+
def test_update(self):
34+
department = Department.all(max_results=1, qb=self.qb_client)[0]
35+
unique_name = "Test Department {0}".format(datetime.now().strftime('%d%H%M%S'))
36+
37+
department.Name = unique_name
38+
department.save(qb=self.qb_client)
39+
40+
query_department = Department.get(department.Id, qb=self.qb_client)
41+
42+
self.assertEqual(query_department.Name, unique_name)

tests/integration/test_deposit.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import os
2+
import unittest
3+
4+
from quickbooks.objects.account import Account
5+
6+
from quickbooks.objects.deposit import Deposit, DepositLine, DepositLineDetail
7+
8+
from quickbooks import QuickBooks
9+
10+
11+
class DepartmentTest(unittest.TestCase):
12+
def setUp(self):
13+
self.qb_client = QuickBooks(
14+
sandbox=True,
15+
consumer_key=os.environ.get('CONSUMER_KEY'),
16+
consumer_secret=os.environ.get('CONSUMER_SECRET'),
17+
access_token=os.environ.get('ACCESS_TOKEN'),
18+
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
19+
company_id=os.environ.get('COMPANY_ID')
20+
)
21+
22+
def test_create(self):
23+
deposit = Deposit()
24+
account = Account.filter(AccountType="Bank", max_results=2, qb=self.qb_client)
25+
26+
account_ref = account[0].to_ref()
27+
deposit_to_account_ref = account[1].to_ref()
28+
29+
deposit_line_detail = DepositLineDetail()
30+
deposit_line_detail.AccountRef = account_ref
31+
32+
line = DepositLine()
33+
line.Amount = 20.00
34+
line.DetailType = "DepositLineDetail"
35+
line.DepositLineDetail = deposit_line_detail
36+
37+
deposit.DepositToAccountRef = deposit_to_account_ref
38+
deposit.Line.append(line)
39+
40+
deposit.save(qb=self.qb_client)
41+
42+
query_deposit = Deposit.get(deposit.Id, qb=self.qb_client)
43+
44+
self.assertEqual(deposit.Id, query_deposit.Id)

0 commit comments

Comments
 (0)