From 7e7fdb06b42870de732782b1cd7cb5c0b2686212 Mon Sep 17 00:00:00 2001
From: Robert Habermann <mail@rhab.de>
Date: Sat, 23 Apr 2016 01:21:01 +0200
Subject: [PATCH] extend tests

---
 tests/test_client.py | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/tests/test_client.py b/tests/test_client.py
index eddd45b..3b9d227 100644
--- a/tests/test_client.py
+++ b/tests/test_client.py
@@ -19,7 +19,7 @@ from pyotrs import Client
 from pyotrs.lib import NoBaseURL, NoWebServiceName, ResponseJSONParseError
 from pyotrs.lib import SessionError
 
-from pyotrs import Article, Client, Ticket  # noqa
+from pyotrs import Article, Attachment, Client, DynamicField, Ticket  # noqa
 from pyotrs.lib import NoBaseURL, NoWebServiceName, NoCredentials  # noqa
 from pyotrs.lib import SessionCreateError, SessionIDFileError, OTRSAPIError, OTRSHTTPError  # noqa
 from pyotrs.lib import TicketError, TicketSearchNumberMultipleResults  # noqa
@@ -464,6 +464,42 @@ class ClientTests(unittest.TestCase):
         obj.ticket_create(ticket=tic, article=art)
         self.assertEqual(mock_t_create_json.call_count, 1)
 
+    @mock.patch('pyotrs.lib.Client._ticket_create_json', autospec=True)
+    def test_ticket_create_mocked_attachment_true(self, mock_t_create_json):
+        """Test ticket_create - mocked attachment result """
+        obj = Client(baseurl="http://fqdn",
+                     webservicename="GenericTicketConnectorREST")
+        att1 = Attachment("mFyCg==", "text/plain", "foo.txt")
+        att2 = Attachment("YmFyCg==", "text/plain", "dümmy.txt")
+        obj.session_id = "some_session_id"
+        tic = Ticket(dct={'Title': 'foo'})
+        art = Article({'Subject': 'mySubject',
+                       'Body': 'myBody',
+                       'TimeUnit': 0,
+                       'MimeType': 'text/plain',
+                       'Charset': 'UTF8'})
+        mock_t_create_json.return_value = True
+        obj.ticket_create(ticket=tic, article=art, attachment_list=[att1, att2])
+        self.assertEqual(mock_t_create_json.call_count, 1)
+
+    @mock.patch('pyotrs.lib.Client._ticket_create_json', autospec=True)
+    def test_ticket_create_mocked_dynamic_field_true(self, mock_t_create_json):
+        """Test ticket_create - mocked dynamic field result """
+        obj = Client(baseurl="http://fqdn",
+                     webservicename="GenericTicketConnectorREST")
+        dyn1 = DynamicField(name="firstname", value="Jane")
+        dyn2 = DynamicField(dct={'Name': 'lastname', 'Value': 'Doe'})
+        obj.session_id = "some_session_id"
+        tic = Ticket(dct={'Title': 'foo'})
+        art = Article({'Subject': 'mySubject',
+                       'Body': 'myBody',
+                       'TimeUnit': 0,
+                       'MimeType': 'text/plain',
+                       'Charset': 'UTF8'})
+        mock_t_create_json.return_value = True
+        obj.ticket_create(ticket=tic, article=art, dynamic_field_list=[dyn1, dyn2])
+        self.assertEqual(mock_t_create_json.call_count, 1)
+
     #
     # @mock.patch('pyotrs.lib.requests.Response.json', autospec=True)
     # @mock.patch('pyotrs.lib.Client._validate_response', autospec=True)
-- 
GitLab