Skip to content

Commit 119ef03

Browse files
author
Lelia
committed
unittest and changes in readme
1 parent 0141e6b commit 119ef03

2 files changed

Lines changed: 84 additions & 4 deletions

File tree

README.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,21 @@ pip install git+git://github.com/GearPlug/typeform-python.git
1111

1212

1313
## Usage
14+
### Simple access with API KEY
1415
```
1516
from typeform.client import Client
1617
1718
client = Client('API_KEY')
1819
```
20+
### Authorized Access
21+
```
22+
from typeform.client import Client
23+
client = Client('TOKEN')
24+
25+
To get the TOKEN follow the documentation
26+
27+
https://developer.typeform.com/get-started/scopes/
28+
```
1929

2030
Get form ID
2131
```
@@ -42,14 +52,23 @@ Get form metadata
4252
client.get_form_metadata('UID, URL')
4353
```
4454

45-
Get form answers
55+
Get all forms
4656
```
47-
client.get_form_answers('UID, URL')
57+
client.get_forms()
4858
```
4959

50-
Get all forms
60+
Create Webhook
5161
```
52-
client.get_forms()
62+
client.create_webhook(url_webhook, tag_webhook, uid)
63+
```
64+
Delete Webhook
65+
```
66+
client.create_webhook(tag_webhook, uid)
67+
```
68+
69+
View Webhook
70+
```
71+
client.create_webhook(tag_webhook, uid)
5372
```
5473

5574
## TODO

tests/test_client.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import os
2+
from unittest import TestCase
3+
from typeform.client import Client, ClientAuth
4+
from datetime import datetime, timedelta
5+
6+
7+
class TypeformTestCases(TestCase):
8+
def setUp(self):
9+
self.access_token = os.environ.get('token')
10+
self.api_key = os.environ.get('apikey')
11+
self.form_id = os.environ.get('form_id')
12+
self.url_webhook = os.environ.get('url_webhook')
13+
self.client=Client(access_token=self.access_token)
14+
15+
def test_create_webhook(self):
16+
result_create = self.client.create_webhook(url_webhook=self.url_webhook,uid=self.form_id, tag_webhook=1)
17+
result_view = self.client.view_webhook(tag_webhook=1, uid=self.form_id)
18+
self.client.delete_webhook(tag_webhook=1, uid=self.form_id)
19+
self.assertEqual(result_create['id'],result_view['id'])
20+
21+
def test_delete_webhook(self):
22+
result_create = self.client.create_webhook(url_webhook=self.url_webhook,uid=self.form_id, tag_webhook=1)
23+
self.client.delete_webhook(tag_webhook=1, uid=self.form_id)
24+
try:
25+
result_view = self.client.view_webhook(tag_webhook=1, uid=self.form_id)
26+
result = False
27+
except:
28+
result = True
29+
self.assertTrue(result)
30+
31+
def test_get_forms(self):
32+
result = self.client.get_forms()
33+
_form = ""
34+
for r in result['items']:
35+
if r['id'] == self.form_id:
36+
_form = r['id']
37+
self.assertEqual(_form, self.form_id)
38+
39+
def test_get_form_information(self):
40+
result = self.client.get_form_information(uid=self.form_id)
41+
self.assertIsInstance(result, dict)
42+
self.assertEqual(result['id'], self.form_id)
43+
44+
def test_get_form_questions(self):
45+
result = self.client.get_form_questions(uid=self.form_id)
46+
self.assertIsInstance(result, list)
47+
self.assertIn('title', result[0])
48+
49+
def test_get_form_metadata(self):
50+
since = (datetime.utcnow() - timedelta(days=1)).isoformat()
51+
until = datetime.utcnow().isoformat()
52+
result = self.client.get_form_metadata(uid=self.form_id, since=since, until=until)
53+
self.assertIsInstance(result, list)
54+
self.assertIsInstance(result[0],dict)
55+
self.assertIn('answers', result[0])
56+
57+
58+
59+
60+
61+

0 commit comments

Comments
 (0)