otrs-somconnexio 0.4.4__py2.py3-none-any.whl → 0.7.3__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. otrs_somconnexio/client.py +110 -42
  2. otrs_somconnexio/exceptions.py +44 -11
  3. otrs_somconnexio/otrs_models/abstract_article.py +3 -0
  4. otrs_somconnexio/otrs_models/adsl_data.py +7 -37
  5. otrs_somconnexio/otrs_models/adsl_dynamic_fields.py +5 -4
  6. otrs_somconnexio/otrs_models/adsl_ticket.py +9 -5
  7. otrs_somconnexio/otrs_models/configurations/changes/__init__.py +0 -0
  8. otrs_somconnexio/otrs_models/configurations/changes/add_data.py +13 -0
  9. otrs_somconnexio/otrs_models/configurations/changes/change_email.py +16 -0
  10. otrs_somconnexio/otrs_models/configurations/changes/change_iban.py +8 -0
  11. otrs_somconnexio/otrs_models/configurations/changes/change_owner.py +19 -0
  12. otrs_somconnexio/otrs_models/configurations/changes/change_pack.py +6 -0
  13. otrs_somconnexio/otrs_models/configurations/changes/change_shared_bond.py +7 -0
  14. otrs_somconnexio/otrs_models/configurations/changes/change_tariff.py +29 -0
  15. otrs_somconnexio/otrs_models/configurations/changes/change_tariff_adsl.py +20 -0
  16. otrs_somconnexio/otrs_models/configurations/changes/change_tariff_fiber.py +11 -0
  17. otrs_somconnexio/otrs_models/configurations/provision/__init__.py +0 -0
  18. otrs_somconnexio/otrs_models/configurations/{adsl_ticket.py → provision/adsl_ticket.py} +2 -2
  19. otrs_somconnexio/otrs_models/configurations/{fiber_ticket.py → provision/fiber_ticket.py} +6 -3
  20. otrs_somconnexio/otrs_models/configurations/provision/mobile_ticket.py +44 -0
  21. otrs_somconnexio/otrs_models/configurations/provision/router_4G_ticket.py +8 -0
  22. otrs_somconnexio/otrs_models/configurations/provision/switchboard_ticket.py +10 -0
  23. otrs_somconnexio/otrs_models/configurations/querys/__init__.py +0 -0
  24. otrs_somconnexio/otrs_models/configurations/querys/check_coverage.py +16 -0
  25. otrs_somconnexio/otrs_models/configurations/querys/we_call_you.py +26 -0
  26. otrs_somconnexio/otrs_models/coverage/adsl.py +1 -1
  27. otrs_somconnexio/otrs_models/coverage/asociatel_fiber.py +6 -0
  28. otrs_somconnexio/otrs_models/coverage/mm_fiber.py +7 -0
  29. otrs_somconnexio/otrs_models/coverage/orange_fiber.py +5 -0
  30. otrs_somconnexio/otrs_models/coverage/vdf_fiber.py +8 -0
  31. otrs_somconnexio/otrs_models/coverage_article.py +20 -4
  32. otrs_somconnexio/otrs_models/coverage_ticket.py +1 -0
  33. otrs_somconnexio/otrs_models/customer_data.py +15 -3
  34. otrs_somconnexio/otrs_models/customer_user.py +3 -9
  35. otrs_somconnexio/otrs_models/fiber_data.py +17 -33
  36. otrs_somconnexio/otrs_models/fiber_dynamic_fields.py +58 -4
  37. otrs_somconnexio/otrs_models/fiber_ticket.py +9 -5
  38. otrs_somconnexio/otrs_models/internet_data.py +79 -0
  39. otrs_somconnexio/otrs_models/internet_dynamic_fields.py +65 -26
  40. otrs_somconnexio/otrs_models/mobile_data.py +49 -5
  41. otrs_somconnexio/otrs_models/mobile_dynamic_fields.py +50 -8
  42. otrs_somconnexio/otrs_models/mobile_ticket.py +20 -4
  43. otrs_somconnexio/otrs_models/process_ticket/internet.py +40 -97
  44. otrs_somconnexio/otrs_models/process_ticket/mobile.py +63 -43
  45. otrs_somconnexio/otrs_models/process_ticket/process_ticket.py +74 -0
  46. otrs_somconnexio/otrs_models/providers.py +4 -3
  47. otrs_somconnexio/otrs_models/provision_article.py +7 -5
  48. otrs_somconnexio/otrs_models/provision_dynamic_fields.py +76 -11
  49. otrs_somconnexio/otrs_models/provision_ticket.py +52 -28
  50. otrs_somconnexio/otrs_models/responsible_data.py +6 -0
  51. otrs_somconnexio/otrs_models/router_4G_data.py +8 -0
  52. otrs_somconnexio/otrs_models/router_4G_dynamic_fields.py +9 -0
  53. otrs_somconnexio/otrs_models/router_4G_ticket.py +26 -0
  54. otrs_somconnexio/otrs_models/service.py +41 -12
  55. otrs_somconnexio/otrs_models/switchboard_data.py +58 -0
  56. otrs_somconnexio/otrs_models/switchboard_dynamic_fields.py +94 -0
  57. otrs_somconnexio/otrs_models/switchboard_header_data.py +18 -0
  58. otrs_somconnexio/otrs_models/switchboard_header_dynamic_fields.py +80 -0
  59. otrs_somconnexio/otrs_models/switchboard_header_ticket.py +30 -0
  60. otrs_somconnexio/otrs_models/switchboard_ticket.py +35 -0
  61. otrs_somconnexio/otrs_models/telecom_company.py +69 -69
  62. otrs_somconnexio/otrs_models/ticket_factory.py +34 -11
  63. otrs_somconnexio/otrs_models/ticket_types/__init__.py +0 -0
  64. otrs_somconnexio/otrs_models/ticket_types/add_data_ticket.py +36 -0
  65. otrs_somconnexio/otrs_models/ticket_types/base_change_tariff_ba_ticket.py +23 -0
  66. otrs_somconnexio/otrs_models/ticket_types/base_change_ticket.py +33 -0
  67. otrs_somconnexio/otrs_models/ticket_types/base_customer_ticket.py +24 -0
  68. otrs_somconnexio/otrs_models/ticket_types/base_ticket.py +147 -0
  69. otrs_somconnexio/otrs_models/ticket_types/change_email_ticket.py +40 -0
  70. otrs_somconnexio/otrs_models/ticket_types/change_iban_ticket.py +39 -0
  71. otrs_somconnexio/otrs_models/ticket_types/change_owner_ticket.py +132 -0
  72. otrs_somconnexio/otrs_models/ticket_types/change_pack_not_shared_data.py +36 -0
  73. otrs_somconnexio/otrs_models/ticket_types/change_personal_email_ticket.py +31 -0
  74. otrs_somconnexio/otrs_models/ticket_types/change_shared_bond_ticket.py +35 -0
  75. otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_landline_ticket.py +30 -0
  76. otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_out_landline_ticket.py +30 -0
  77. otrs_somconnexio/otrs_models/ticket_types/change_tariff_adsl_ticket.py +42 -0
  78. otrs_somconnexio/otrs_models/ticket_types/change_tariff_fiber_ticket.py +43 -0
  79. otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket.py +87 -0
  80. otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket_mobile_pack.py +51 -0
  81. otrs_somconnexio/otrs_models/ticket_types/change_tariff_ticket_shared_bonds.py +22 -0
  82. otrs_somconnexio/otrs_models/ticket_types/check_coverage_ticket.py +52 -0
  83. otrs_somconnexio/otrs_models/ticket_types/we_call_you_ticket.py +53 -0
  84. otrs_somconnexio/otrs_models/vf_provisioning_article.py +4 -2
  85. otrs_somconnexio/responses/ticket_creation.py +5 -4
  86. otrs_somconnexio/services/activate_change_tarriff_mobile_tickets.py +13 -0
  87. otrs_somconnexio/services/base_get_ticket_by_number.py +22 -0
  88. otrs_somconnexio/services/change_to_confirm_ticket.py +45 -0
  89. otrs_somconnexio/services/get_mobile_related_tickets.py +11 -0
  90. otrs_somconnexio/services/get_sharing_data_mobile_tickets.py +65 -0
  91. otrs_somconnexio/services/get_ticket_title.py +26 -0
  92. otrs_somconnexio/services/mapping_mobile_minutes.py +5 -5
  93. otrs_somconnexio/services/mapping_services.py +8 -6
  94. otrs_somconnexio/services/move_sharing_data_mobile_tickets.py +13 -0
  95. otrs_somconnexio/services/search_tickets_mobile_change_tariff.py +25 -0
  96. otrs_somconnexio/services/search_tickets_service.py +57 -0
  97. otrs_somconnexio/services/set_SIM_recieved_mobile_ticket.py +107 -0
  98. otrs_somconnexio/services/set_SIM_returned_mobile_ticket.py +37 -0
  99. otrs_somconnexio/services/set_fiber_contract_code_mobile_ticket.py +21 -0
  100. otrs_somconnexio/services/unblock_mobile_pack_ticket.py +48 -0
  101. otrs_somconnexio/services/update_process_ticket_with_coverage_tickets_info_service.py +10 -10
  102. otrs_somconnexio/services/update_ticket_DF.py +18 -0
  103. otrs_somconnexio/services/update_ticket_with_provider_info.py +2 -3
  104. otrs_somconnexio/user_management_client/client.py +15 -27
  105. otrs_somconnexio/user_management_client/user_management_response.py +2 -3
  106. {otrs_somconnexio-0.4.4.dist-info → otrs_somconnexio-0.7.3.dist-info}/METADATA +19 -4
  107. otrs_somconnexio-0.7.3.dist-info/RECORD +202 -0
  108. {otrs_somconnexio-0.4.4.dist-info → otrs_somconnexio-0.7.3.dist-info}/WHEEL +1 -1
  109. tests/data/otrs_raw_responses.py +12 -6
  110. tests/integration/test_change_customer_language.py +14 -19
  111. tests/integration/test_ticket_factory.py +383 -106
  112. tests/integration/test_update_ticket_with_coverage_data.py +53 -27
  113. tests/otrs_models/common_helper.py +9 -0
  114. tests/otrs_models/configuration/changes/__init__.py +0 -0
  115. tests/otrs_models/configuration/changes/test_change_tariff_ticket.py +91 -0
  116. tests/otrs_models/configuration/provision/__init__.py +0 -0
  117. tests/otrs_models/configuration/provision/test_adsl_ticket.py +30 -0
  118. tests/otrs_models/configuration/provision/test_fiber_ticket.py +32 -0
  119. tests/otrs_models/configuration/provision/test_mobile_ticket.py +62 -0
  120. tests/otrs_models/process_ticket/test_internet_process_ticket.py +54 -60
  121. tests/otrs_models/process_ticket/test_mobile_process_ticket.py +56 -33
  122. tests/otrs_models/test_abstract_article.py +3 -2
  123. tests/otrs_models/test_adsl_data.py +11 -4
  124. tests/otrs_models/test_adsl_dynamic_fields.py +217 -100
  125. tests/otrs_models/test_adsl_ticket.py +78 -83
  126. tests/otrs_models/test_coverage_article.py +9 -7
  127. tests/otrs_models/test_coverage_ticket.py +4 -2
  128. tests/otrs_models/test_customer_user.py +23 -20
  129. tests/otrs_models/test_fiber_data.py +20 -4
  130. tests/otrs_models/test_fiber_dynamic_fields.py +458 -134
  131. tests/otrs_models/test_fiber_ticket.py +113 -79
  132. tests/otrs_models/test_mobile_data.py +14 -3
  133. tests/otrs_models/test_mobile_dynamic_fields.py +335 -74
  134. tests/otrs_models/test_mobile_paused_ticket.py +35 -0
  135. tests/otrs_models/test_mobile_ticket.py +82 -96
  136. tests/otrs_models/test_provision_article.py +49 -0
  137. tests/otrs_models/test_router_4G_data.py +43 -0
  138. tests/otrs_models/test_router_4G_dynamic_fields.py +619 -0
  139. tests/otrs_models/test_router_4G_ticket.py +135 -0
  140. tests/otrs_models/test_service.py +58 -14
  141. tests/otrs_models/test_switchboard_data.py +37 -0
  142. tests/otrs_models/test_switchboard_dynamic_fields.py +197 -0
  143. tests/otrs_models/test_switchboard_header_data.py +18 -0
  144. tests/otrs_models/test_switchboard_header_dynamic_fields.py +119 -0
  145. tests/otrs_models/test_switchboard_header_ticket.py +127 -0
  146. tests/otrs_models/test_switchboard_ticket.py +147 -0
  147. tests/otrs_models/test_telecom_company.py +16 -16
  148. tests/otrs_models/test_ticket_factory.py +73 -16
  149. tests/otrs_models/test_vf_provisioning_article.py +6 -5
  150. tests/otrs_models/ticket_types/__init__.py +0 -0
  151. tests/otrs_models/ticket_types/test_add_data.py +79 -0
  152. tests/otrs_models/ticket_types/test_change_email.py +163 -0
  153. tests/otrs_models/ticket_types/test_change_iban.py +82 -0
  154. tests/otrs_models/ticket_types/test_change_owner.py +277 -0
  155. tests/otrs_models/ticket_types/test_change_pack_not_shared_data.py +77 -0
  156. tests/otrs_models/ticket_types/test_change_personal_email.py +81 -0
  157. tests/otrs_models/ticket_types/test_change_tariff.py +435 -0
  158. tests/otrs_models/ticket_types/test_change_tariff_adsl_landline.py +115 -0
  159. tests/otrs_models/ticket_types/test_change_tariff_adsl_out_landline.py +115 -0
  160. tests/otrs_models/ticket_types/test_change_tariff_fiber.py +175 -0
  161. tests/otrs_models/ticket_types/test_change_tariff_mobile_pack.py +151 -0
  162. tests/otrs_models/ticket_types/test_change_tariff_shared_bonds.py +65 -0
  163. tests/otrs_models/ticket_types/test_check_coverage.py +106 -0
  164. tests/otrs_models/ticket_types/test_shared_bond.py +80 -0
  165. tests/otrs_models/ticket_types/test_we_call_you.py +108 -0
  166. tests/responses/test_ticket_creation.py +4 -4
  167. tests/services/test_activate_change_tariff_mobile_tickets.py +45 -0
  168. tests/services/test_change_to_confirm_ticket.py +80 -0
  169. tests/services/test_get_mobile_related_tickets.py +39 -0
  170. tests/services/test_get_sharing_data_mobile_tickets.py +127 -0
  171. tests/services/test_mapping_mobile_minutes.py +8 -8
  172. tests/services/{test_mappint_services.py → test_mapping_services.py} +9 -9
  173. tests/services/test_move_sharing_data_mobile_tickets.py +43 -0
  174. tests/services/test_search_tickets_mobile_change_tariff.py +84 -0
  175. tests/services/test_search_tickets_service.py +166 -0
  176. tests/services/test_set_SIM_recieved_mobile_ticket_service.py +211 -0
  177. tests/services/test_set_SIM_returned_mobile_ticket_service.py +59 -0
  178. tests/services/test_set_fiber_contract_code_mobile_ticket_service.py +47 -0
  179. tests/services/test_unblock_mobile_pack_ticket.py +224 -0
  180. tests/services/test_update_process_ticket_with_VF_provisioning.py +15 -14
  181. tests/services/test_update_process_ticket_with_coverage_tickets_info_service.py +22 -10
  182. tests/services/test_update_ticket_with_provider_info.py +16 -15
  183. tests/user_management_client/test_client.py +41 -58
  184. tests/user_management_client/test_user_management_response.py +13 -26
  185. otrs_somconnexio/otrs_models/configurations/mobile_ticket.py +0 -17
  186. otrs_somconnexio/otrs_models/coverage/mm_fibre.py +0 -7
  187. otrs_somconnexio/otrs_models/coverage/vdf_fibre.py +0 -8
  188. otrs_somconnexio-0.4.4.dist-info/RECORD +0 -95
  189. tests/otrs_models/configuration/test_adsl_ticket.py +0 -45
  190. tests/otrs_models/configuration/test_fiber_ticket.py +0 -45
  191. tests/otrs_models/configuration/test_mobile_ticket.py +0 -45
  192. {otrs_somconnexio-0.4.4.dist-info → otrs_somconnexio-0.7.3.dist-info}/top_level.txt +0 -0
@@ -2,50 +2,58 @@ import unittest
2
2
  from mock import Mock
3
3
 
4
4
  from otrs_somconnexio.otrs_models.mobile_dynamic_fields import MobileDynamicFields
5
-
6
-
7
- def dynamic_fields_to_dct(dynamic_fields):
8
- """
9
- Convert the MobileDynamicFields object in a dict with the name of the dynamic
10
- field as key and the value as value.
11
- Only used to test the MobileDynamicFields object.
12
- """
13
- dct = {}
14
- for df in dynamic_fields:
15
- dct[df.name] = df.value
16
- return dct
5
+ from .common_helper import dynamic_fields_to_dct
17
6
 
18
7
 
19
8
  class MobileDynamicFieldsTestCase(unittest.TestCase):
20
9
  def setUp(self):
21
- self.customer_data = Mock(spec=[
22
- 'id',
23
- 'vat_number',
24
- 'email',
25
- 'phone',
26
- 'name',
27
- 'first_name',
28
- 'street',
29
- 'zip',
30
- 'city',
31
- 'subdivision',
32
- ])
33
- self.mobile_data = Mock(spec=[
34
- 'order_id',
35
- 'phone_number',
36
- 'iban',
37
- 'sc_icc',
38
- 'icc',
39
- 'service_internet_unlimited',
40
- 'portability',
41
- 'previous_owner_vat',
42
- 'previous_owner_name',
43
- 'previous_owner_surname',
44
- 'previous_provider',
45
- 'product'
46
- ])
47
- self.mobile_data.portability = False
48
-
10
+ self.customer_data = Mock(
11
+ spec=[
12
+ "id",
13
+ "vat_number",
14
+ "name",
15
+ "first_name",
16
+ "street",
17
+ "zip",
18
+ "city",
19
+ "subdivision",
20
+ "has_active_contracts",
21
+ "language",
22
+ ]
23
+ )
24
+ self.mobile_data = Mock(
25
+ spec=[
26
+ "order_id",
27
+ "contact_phone",
28
+ "phone_number",
29
+ "iban",
30
+ "email",
31
+ "sc_icc",
32
+ "icc",
33
+ "service_internet_unlimited",
34
+ "type",
35
+ "previous_owner_vat",
36
+ "previous_owner_name",
37
+ "previous_owner_surname",
38
+ "previous_provider",
39
+ "product",
40
+ "has_sim",
41
+ "sim_delivery_tracking_code",
42
+ "type",
43
+ "delivery_street",
44
+ "delivery_city",
45
+ "delivery_zip_code",
46
+ "delivery_state",
47
+ "notes",
48
+ "activation_notes",
49
+ "technology",
50
+ "sales_team",
51
+ "fiber_linked",
52
+ "shared_bond_id",
53
+ "confirmed_documentation",
54
+ ]
55
+ )
56
+ self.mobile_data.type = "new"
49
57
  self.mobile_otrs_process_id = "MobileProcessID"
50
58
  self.mobile_otrs_activity_id = "MobileActivityID"
51
59
 
@@ -54,127 +62,211 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
54
62
  self.mobile_data,
55
63
  self.customer_data,
56
64
  self.mobile_otrs_process_id,
57
- self.mobile_otrs_activity_id
65
+ self.mobile_otrs_activity_id,
58
66
  ).all()
59
67
 
60
68
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
61
- self.assertEqual(dynamic_fields_dct["ProcessManagementProcessID"], "MobileProcessID")
69
+ self.assertEqual(
70
+ dynamic_fields_dct["ProcessManagementProcessID"], "MobileProcessID"
71
+ )
62
72
 
63
73
  def test_activity_id_field(self):
64
74
  dynamic_fields = MobileDynamicFields(
65
75
  self.mobile_data,
66
76
  self.customer_data,
67
77
  self.mobile_otrs_process_id,
68
- self.mobile_otrs_activity_id
78
+ self.mobile_otrs_activity_id,
69
79
  ).all()
70
80
 
71
81
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
72
- self.assertEqual(dynamic_fields_dct["ProcessManagementActivityID"], "MobileActivityID")
82
+ self.assertEqual(
83
+ dynamic_fields_dct["ProcessManagementActivityID"], "MobileActivityID"
84
+ )
73
85
 
74
86
  def test_first_name_field(self):
75
- self.customer_data.first_name = 'First Name'
87
+ self.customer_data.first_name = "First Name"
76
88
 
77
89
  dynamic_fields = MobileDynamicFields(
78
90
  self.mobile_data,
79
91
  self.customer_data,
80
92
  self.mobile_otrs_process_id,
81
- self.mobile_otrs_activity_id
93
+ self.mobile_otrs_activity_id,
82
94
  ).all()
83
95
 
84
96
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
85
97
  self.assertEqual(dynamic_fields_dct["nomSoci"], "First Name")
86
98
 
87
99
  def test_name_field(self):
88
- self.customer_data.name = 'Name'
100
+ self.customer_data.name = "Name"
89
101
 
90
102
  dynamic_fields = MobileDynamicFields(
91
103
  self.mobile_data,
92
104
  self.customer_data,
93
105
  self.mobile_otrs_process_id,
94
- self.mobile_otrs_activity_id
106
+ self.mobile_otrs_activity_id,
95
107
  ).all()
96
108
 
97
109
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
98
110
  self.assertEqual(dynamic_fields_dct["cognom1"], "Name")
99
111
 
100
112
  def test_vat_number_field(self):
101
- self.customer_data.vat_number = 'NIFCode'
113
+ self.customer_data.vat_number = "NIFCode"
102
114
 
103
115
  dynamic_fields = MobileDynamicFields(
104
116
  self.mobile_data,
105
117
  self.customer_data,
106
118
  self.mobile_otrs_process_id,
107
- self.mobile_otrs_activity_id
119
+ self.mobile_otrs_activity_id,
108
120
  ).all()
109
121
 
110
122
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
111
123
  self.assertEqual(dynamic_fields_dct["NIFNIESoci"], "NIFCode")
112
124
 
125
+ def test_has_active_contracts_field(self):
126
+ self.customer_data.has_active_contracts = True
127
+
128
+ dynamic_fields = MobileDynamicFields(
129
+ self.mobile_data,
130
+ self.customer_data,
131
+ self.mobile_otrs_process_id,
132
+ self.mobile_otrs_activity_id,
133
+ ).all()
134
+
135
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
136
+ self.assertEqual(dynamic_fields_dct["teContractesActius"], "1")
137
+
138
+ def test_has_active_contracts_false_field(self):
139
+ self.customer_data.has_active_contracts = False
140
+
141
+ dynamic_fields = MobileDynamicFields(
142
+ self.mobile_data,
143
+ self.customer_data,
144
+ self.mobile_otrs_process_id,
145
+ self.mobile_otrs_activity_id,
146
+ ).all()
147
+
148
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
149
+ self.assertEqual(dynamic_fields_dct["teContractesActius"], "0")
150
+
151
+ def test_language_field(self):
152
+ self.customer_data.language = "ca_ES"
153
+
154
+ dynamic_fields = MobileDynamicFields(
155
+ self.mobile_data,
156
+ self.customer_data,
157
+ self.mobile_otrs_process_id,
158
+ self.mobile_otrs_activity_id,
159
+ ).all()
160
+
161
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
162
+ self.assertEqual(dynamic_fields_dct["idioma"], "ca_ES")
163
+
164
+ def test_order_id_field(self):
165
+ self.mobile_data.order_id = "2222"
166
+
167
+ dynamic_fields = MobileDynamicFields(
168
+ self.mobile_data,
169
+ self.customer_data,
170
+ self.mobile_otrs_process_id,
171
+ self.mobile_otrs_activity_id,
172
+ ).all()
173
+
174
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
175
+ self.assertEqual(dynamic_fields_dct["IDpeticio"], "2222")
176
+
113
177
  def test_line_field(self):
114
- self.mobile_data.phone_number = '666666666'
178
+ self.mobile_data.phone_number = "666666666"
115
179
 
116
180
  dynamic_fields = MobileDynamicFields(
117
181
  self.mobile_data,
118
182
  self.customer_data,
119
183
  self.mobile_otrs_process_id,
120
- self.mobile_otrs_activity_id
184
+ self.mobile_otrs_activity_id,
121
185
  ).all()
122
186
 
123
187
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
124
188
  self.assertEqual(dynamic_fields_dct["liniaMobil"], "666666666")
125
189
 
126
190
  def test_icc_sc_field(self):
127
- self.mobile_data.sc_icc = '1234'
191
+ self.mobile_data.sc_icc = "1234"
128
192
 
129
193
  dynamic_fields = MobileDynamicFields(
130
194
  self.mobile_data,
131
195
  self.customer_data,
132
196
  self.mobile_otrs_process_id,
133
- self.mobile_otrs_activity_id
197
+ self.mobile_otrs_activity_id,
134
198
  ).all()
135
199
 
136
200
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
137
201
  self.assertEqual(dynamic_fields_dct["ICCSC"], "1234")
138
202
 
139
203
  def test_icc_donor_field(self):
140
- self.mobile_data.icc = '4321'
204
+ self.mobile_data.icc = "4321"
141
205
 
142
206
  dynamic_fields = MobileDynamicFields(
143
207
  self.mobile_data,
144
208
  self.customer_data,
145
209
  self.mobile_otrs_process_id,
146
- self.mobile_otrs_activity_id
210
+ self.mobile_otrs_activity_id,
147
211
  ).all()
148
212
 
149
213
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
150
214
  self.assertEqual(dynamic_fields_dct["ICCdonant"], "4321")
151
215
 
152
216
  def test_service_type_field_new(self):
153
- self.mobile_data.portability = False
217
+ self.mobile_data.type = "new"
154
218
 
155
219
  dynamic_fields = MobileDynamicFields(
156
220
  self.mobile_data,
157
221
  self.customer_data,
158
222
  self.mobile_otrs_process_id,
159
- self.mobile_otrs_activity_id
223
+ self.mobile_otrs_activity_id,
160
224
  ).all()
161
225
 
162
226
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
163
227
  self.assertEqual(dynamic_fields_dct["tipusServeiMobil"], "altaNova")
164
228
 
165
229
  def test_service_type_field_portability(self):
166
- self.mobile_data.portability = True
230
+ self.mobile_data.type = "portability"
167
231
 
168
232
  dynamic_fields = MobileDynamicFields(
169
233
  self.mobile_data,
170
234
  self.customer_data,
171
235
  self.mobile_otrs_process_id,
172
- self.mobile_otrs_activity_id
236
+ self.mobile_otrs_activity_id,
173
237
  ).all()
174
238
 
175
239
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
176
240
  self.assertEqual(dynamic_fields_dct["tipusServeiMobil"], "portabilitat")
177
241
 
242
+ def test_service_has_sim(self):
243
+ self.mobile_data.has_sim = True
244
+
245
+ dynamic_fields = MobileDynamicFields(
246
+ self.mobile_data,
247
+ self.customer_data,
248
+ self.mobile_otrs_process_id,
249
+ self.mobile_otrs_activity_id,
250
+ ).all()
251
+
252
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
253
+ self.assertEqual(dynamic_fields_dct["SIMrebuda"], "1")
254
+ self.assertEqual(dynamic_fields_dct["tipusEnviamentSIM"], "None")
255
+
256
+ def test_service_does_not_have_sim(self):
257
+ self.mobile_data.has_sim = False
258
+
259
+ dynamic_fields = MobileDynamicFields(
260
+ self.mobile_data,
261
+ self.customer_data,
262
+ self.mobile_otrs_process_id,
263
+ self.mobile_otrs_activity_id,
264
+ ).all()
265
+
266
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
267
+ self.assertEqual(dynamic_fields_dct["SIMrebuda"], "0")
268
+ self.assertEqual(dynamic_fields_dct["tipusEnviamentSIM"], "CH_SC_OSO_SIM")
269
+
178
270
  def test_IBAN_field(self):
179
271
  self.mobile_data.iban = "ES6621000418401234567891"
180
272
 
@@ -182,33 +274,33 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
182
274
  self.mobile_data,
183
275
  self.customer_data,
184
276
  self.mobile_otrs_process_id,
185
- self.mobile_otrs_activity_id
277
+ self.mobile_otrs_activity_id,
186
278
  ).all()
187
279
 
188
280
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
189
281
  self.assertEqual(dynamic_fields_dct["IBAN"], "ES6621000418401234567891")
190
282
 
191
283
  def test_contact_email_field(self):
192
- self.customer_data.email = "test@email.org"
284
+ self.mobile_data.email = "test@email.org"
193
285
 
194
286
  dynamic_fields = MobileDynamicFields(
195
287
  self.mobile_data,
196
288
  self.customer_data,
197
289
  self.mobile_otrs_process_id,
198
- self.mobile_otrs_activity_id
290
+ self.mobile_otrs_activity_id,
199
291
  ).all()
200
292
 
201
293
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
202
294
  self.assertEqual(dynamic_fields_dct["correuElectronic"], "test@email.org")
203
295
 
204
296
  def test_contact_phone_field(self):
205
- self.customer_data.phone = "666666666"
297
+ self.mobile_data.contact_phone = "666666666"
206
298
 
207
299
  dynamic_fields = MobileDynamicFields(
208
300
  self.mobile_data,
209
301
  self.customer_data,
210
302
  self.mobile_otrs_process_id,
211
- self.mobile_otrs_activity_id
303
+ self.mobile_otrs_activity_id,
212
304
  ).all()
213
305
 
214
306
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
@@ -221,7 +313,7 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
221
313
  self.mobile_data,
222
314
  self.customer_data,
223
315
  self.mobile_otrs_process_id,
224
- self.mobile_otrs_activity_id
316
+ self.mobile_otrs_activity_id,
225
317
  ).all()
226
318
 
227
319
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
@@ -235,7 +327,7 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
235
327
  self.mobile_data,
236
328
  self.customer_data,
237
329
  self.mobile_otrs_process_id,
238
- self.mobile_otrs_activity_id
330
+ self.mobile_otrs_activity_id,
239
331
  ).all()
240
332
 
241
333
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
@@ -248,7 +340,7 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
248
340
  self.mobile_data,
249
341
  self.customer_data,
250
342
  self.mobile_otrs_process_id,
251
- self.mobile_otrs_activity_id
343
+ self.mobile_otrs_activity_id,
252
344
  ).all()
253
345
 
254
346
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
@@ -261,7 +353,7 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
261
353
  self.mobile_data,
262
354
  self.customer_data,
263
355
  self.mobile_otrs_process_id,
264
- self.mobile_otrs_activity_id
356
+ self.mobile_otrs_activity_id,
265
357
  ).all()
266
358
 
267
359
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
@@ -274,7 +366,7 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
274
366
  self.mobile_data,
275
367
  self.customer_data,
276
368
  self.mobile_otrs_process_id,
277
- self.mobile_otrs_activity_id
369
+ self.mobile_otrs_activity_id,
278
370
  ).all()
279
371
 
280
372
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
@@ -287,7 +379,7 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
287
379
  self.mobile_data,
288
380
  self.customer_data,
289
381
  self.mobile_otrs_process_id,
290
- self.mobile_otrs_activity_id
382
+ self.mobile_otrs_activity_id,
291
383
  ).all()
292
384
 
293
385
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
@@ -300,7 +392,7 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
300
392
  self.mobile_data,
301
393
  self.customer_data,
302
394
  self.mobile_otrs_process_id,
303
- self.mobile_otrs_activity_id
395
+ self.mobile_otrs_activity_id,
304
396
  ).all()
305
397
 
306
398
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
@@ -313,7 +405,7 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
313
405
  self.mobile_data,
314
406
  self.customer_data,
315
407
  self.mobile_otrs_process_id,
316
- self.mobile_otrs_activity_id
408
+ self.mobile_otrs_activity_id,
317
409
  ).all()
318
410
 
319
411
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
@@ -326,8 +418,177 @@ class MobileDynamicFieldsTestCase(unittest.TestCase):
326
418
  self.mobile_data,
327
419
  self.customer_data,
328
420
  self.mobile_otrs_process_id,
329
- self.mobile_otrs_activity_id
421
+ self.mobile_otrs_activity_id,
330
422
  ).all()
331
423
 
332
424
  dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
333
425
  self.assertEqual(dynamic_fields_dct["provinciaMobil"], "ES-A")
426
+
427
+ def test_delivery_street_field(self):
428
+ self.mobile_data.delivery_street = "Les Moreres"
429
+
430
+ dynamic_fields = MobileDynamicFields(
431
+ self.mobile_data,
432
+ self.customer_data,
433
+ self.mobile_otrs_process_id,
434
+ self.mobile_otrs_activity_id,
435
+ ).all()
436
+
437
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
438
+ self.assertEqual(dynamic_fields_dct["direccioEnviament"], "Les Moreres")
439
+
440
+ def test_delivery_city_field(self):
441
+ self.mobile_data.delivery_city = "Alacant"
442
+
443
+ dynamic_fields = MobileDynamicFields(
444
+ self.mobile_data,
445
+ self.customer_data,
446
+ self.mobile_otrs_process_id,
447
+ self.mobile_otrs_activity_id,
448
+ ).all()
449
+
450
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
451
+ self.assertEqual(dynamic_fields_dct["poblacioEnviament"], "Alacant")
452
+
453
+ def test_delivery_zip_code_field(self):
454
+ self.mobile_data.delivery_zip_code = "03140"
455
+
456
+ dynamic_fields = MobileDynamicFields(
457
+ self.mobile_data,
458
+ self.customer_data,
459
+ self.mobile_otrs_process_id,
460
+ self.mobile_otrs_activity_id,
461
+ ).all()
462
+
463
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
464
+ self.assertEqual(dynamic_fields_dct["CPenviament"], "03140")
465
+
466
+ def test_delivery_state_field(self):
467
+ self.mobile_data.delivery_state = "ES-A"
468
+
469
+ dynamic_fields = MobileDynamicFields(
470
+ self.mobile_data,
471
+ self.customer_data,
472
+ self.mobile_otrs_process_id,
473
+ self.mobile_otrs_activity_id,
474
+ ).all()
475
+
476
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
477
+ self.assertEqual(dynamic_fields_dct["provinciaEnviament"], "ES-A")
478
+
479
+ def test_activation_notes_field(self):
480
+ self.mobile_data.activation_notes = "text text text"
481
+
482
+ dynamic_fields = MobileDynamicFields(
483
+ self.mobile_data,
484
+ self.customer_data,
485
+ self.mobile_otrs_process_id,
486
+ self.mobile_otrs_activity_id,
487
+ ).all()
488
+
489
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
490
+ self.assertEqual(
491
+ dynamic_fields_dct["consideracionsActivacio"], "text text text"
492
+ )
493
+
494
+ def test_tecnhology(self):
495
+ self.mobile_data.technology = "Mòbil"
496
+
497
+ dynamic_fields = MobileDynamicFields(
498
+ self.mobile_data,
499
+ self.customer_data,
500
+ self.mobile_otrs_process_id,
501
+ self.mobile_otrs_activity_id,
502
+ ).all()
503
+
504
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
505
+ self.assertEqual(dynamic_fields_dct["TecDelServei"], "Mòbil")
506
+
507
+ def test_sales_team(self):
508
+ self.mobile_data.sales_team = "Residential"
509
+
510
+ dynamic_fields = MobileDynamicFields(
511
+ self.mobile_data,
512
+ self.customer_data,
513
+ self.mobile_otrs_process_id,
514
+ self.mobile_otrs_activity_id,
515
+ ).all()
516
+
517
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
518
+ self.assertEqual(dynamic_fields_dct["equipVendes"], "residencial")
519
+
520
+ def test_fiber_linked(self):
521
+ self.mobile_data.fiber_linked = "72"
522
+
523
+ dynamic_fields = MobileDynamicFields(
524
+ self.mobile_data,
525
+ self.customer_data,
526
+ self.mobile_otrs_process_id,
527
+ self.mobile_otrs_activity_id,
528
+ ).all()
529
+
530
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
531
+ self.assertEqual(dynamic_fields_dct["OdooContractRefRelacionat"], "72")
532
+
533
+ def test_shared_bond_id(self):
534
+ self.mobile_data.shared_bond_id = "A72"
535
+
536
+ dynamic_fields = MobileDynamicFields(
537
+ self.mobile_data,
538
+ self.customer_data,
539
+ self.mobile_otrs_process_id,
540
+ self.mobile_otrs_activity_id,
541
+ ).all()
542
+
543
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
544
+ self.assertEqual(dynamic_fields_dct["IDAbonamentCompartit"], "A72")
545
+
546
+ def test_sim_delivery_tracking_code(self):
547
+ self.mobile_data.sim_delivery_tracking_code = "72"
548
+
549
+ dynamic_fields = MobileDynamicFields(
550
+ self.mobile_data,
551
+ self.customer_data,
552
+ self.mobile_otrs_process_id,
553
+ self.mobile_otrs_activity_id,
554
+ ).all()
555
+
556
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
557
+ self.assertEqual(dynamic_fields_dct["CorreusTrackingCode"], "72")
558
+
559
+ def test_documentation(self):
560
+ dynamic_fields = MobileDynamicFields(
561
+ self.mobile_data,
562
+ self.customer_data,
563
+ self.mobile_otrs_process_id,
564
+ self.mobile_otrs_activity_id,
565
+ ).all()
566
+
567
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
568
+ self.assertEqual(dynamic_fields_dct["flagDocumentacio"], "0")
569
+
570
+ def test_confirm_doc(self):
571
+ dynamic_fields = MobileDynamicFields(
572
+ self.mobile_data,
573
+ self.customer_data,
574
+ self.mobile_otrs_process_id,
575
+ self.mobile_otrs_activity_id,
576
+ ).all()
577
+
578
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
579
+ self.assertEqual(dynamic_fields_dct["confirmDoc"], "no")
580
+
581
+ def test_consideracions_generals_field(self):
582
+ self.mobile_data.notes = "General notes"
583
+ dynamic_fields = MobileDynamicFields(
584
+ self.mobile_data,
585
+ self.customer_data,
586
+ self.mobile_otrs_process_id,
587
+ self.mobile_otrs_activity_id,
588
+ ).all()
589
+
590
+ dynamic_fields_dct = dynamic_fields_to_dct(dynamic_fields)
591
+ self.assertEqual(
592
+ dynamic_fields_dct["consideracionsGenerals"],
593
+ self.mobile_data.notes,
594
+ )
@@ -0,0 +1,35 @@
1
+ # coding: utf-8
2
+ import unittest
3
+ from mock import Mock, patch
4
+
5
+ from otrs_somconnexio.otrs_models.mobile_ticket import MobilePausedTicket
6
+ from otrs_somconnexio.otrs_models.configurations.provision.mobile_ticket import (
7
+ MobileTicketPausedConfiguration,
8
+ )
9
+
10
+
11
+ class MobileTicketPausedTestCase(unittest.TestCase):
12
+ @patch("otrs_somconnexio.otrs_models.provision_ticket.Ticket")
13
+ def test_build_mobile_paused_ticket(self, MockTicket):
14
+ mobile_data = Mock(spec=["order_id", "technology"])
15
+ mobile_data.order_id = 123
16
+
17
+ customer_data = Mock(spec=["id"])
18
+ responsible_data = Mock(spec=["email"])
19
+
20
+ expected_ticket_arguments = {
21
+ "Title": "Ticket#{} - Només mòbil".format(mobile_data.order_id),
22
+ "Type": MobileTicketPausedConfiguration.type,
23
+ "QueueID": MobileTicketPausedConfiguration.queue_id,
24
+ "State": MobileTicketPausedConfiguration.state,
25
+ "SLA": MobileTicketPausedConfiguration.SLA,
26
+ "Service": MobileTicketPausedConfiguration.service,
27
+ "Priority": MobileTicketPausedConfiguration.priority,
28
+ "CustomerUser": customer_data.id,
29
+ "CustomerID": customer_data.id,
30
+ "Responsible": responsible_data.email,
31
+ }
32
+
33
+ MobilePausedTicket(mobile_data, customer_data, responsible_data)._build_ticket()
34
+
35
+ MockTicket.assert_called_with(expected_ticket_arguments)