otrs-somconnexio 0.5.12__py2.py3-none-any.whl → 0.6.0__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.
@@ -5,6 +5,8 @@ class MobileTicketConfiguration:
5
5
  type = "Petición"
6
6
  queue_id = 71
7
7
  state = "new"
8
+ SLA = "No pendent resposta"
9
+ service = "Mòbil"
8
10
  priority = "3 normal"
9
11
 
10
12
  def __init__(self, otrs_configuration=None):
@@ -0,0 +1,10 @@
1
+ # coding: utf-8
2
+ class SwitchboardTicketConfiguration:
3
+ process_id = "Process-340f0714fca27d563373adda18b505d9"
4
+ activity_id = "Activity-cbf9c1acfd068e164d7e7c53cbd6a137"
5
+ type = "Petición"
6
+ SLA = "No pendent resposta"
7
+ service = "Centraleta Virtual"
8
+ queue_id = 242
9
+ state = "new"
10
+ priority = "3 normal"
@@ -8,7 +8,7 @@ from otrs_somconnexio.otrs_models.provision_dynamic_fields import ProvisionDynam
8
8
  class InternetDynamicFields(ProvisionDynamicFields):
9
9
  def _build_specific_dynamic_fields(self):
10
10
  dynamic_fields = [
11
- self._econtract_id(),
11
+ self._contract_id(),
12
12
  self._previous_service(),
13
13
  self._previous_provider(),
14
14
  self._previous_contract_address(),
@@ -35,7 +35,7 @@ class InternetDynamicFields(ProvisionDynamicFields):
35
35
  dynamic_fields += self._build_specific_broadband_service_dynamic_fields()
36
36
  return dynamic_fields
37
37
 
38
- def _econtract_id(self):
38
+ def _contract_id(self):
39
39
  return DynamicField(name="IDContracte", value=self.service_data.order_id)
40
40
 
41
41
  def _previous_service(self):
@@ -43,9 +43,6 @@ class ProvisionDynamicFields:
43
43
  name="ProcessManagementActivityID", value=self.otrs_activity_id
44
44
  )
45
45
 
46
- def _econtract_id(self):
47
- return DynamicField(name="IDContracte", value=self.service_data.order_id)
48
-
49
46
  def _first_name(self):
50
47
  return DynamicField("nomSoci", self.customer_data.first_name)
51
48
 
@@ -0,0 +1,52 @@
1
+ class SwitchboardData:
2
+ service_type = "switchboard"
3
+
4
+ def __init__(
5
+ self,
6
+ order_id,
7
+ iban,
8
+ email,
9
+ contact_phone,
10
+ product,
11
+ technology,
12
+ sales_team,
13
+ type,
14
+ landline,
15
+ landline_2,
16
+ icc,
17
+ extension,
18
+ agent_name,
19
+ agent_email,
20
+ previous_owner_vat,
21
+ previous_owner_name,
22
+ previous_owner_surname,
23
+ shipment_address,
24
+ shipment_city,
25
+ shipment_zip,
26
+ shipment_subdivision,
27
+ activation_notes="",
28
+ notes="",
29
+ ):
30
+ self.order_id = order_id
31
+ self.iban = iban
32
+ self.email = email
33
+ self.contact_phone = contact_phone
34
+ self.product = product
35
+ self.technology = technology
36
+ self.sales_team = sales_team
37
+ self.type = type
38
+ self.landline = landline
39
+ self.landline_2 = landline_2
40
+ self.icc = icc
41
+ self.extension = extension
42
+ self.agent_name = agent_name
43
+ self.agent_email = agent_email
44
+ self.previous_owner_vat = previous_owner_vat
45
+ self.previous_owner_name = previous_owner_name
46
+ self.previous_owner_surname = previous_owner_surname
47
+ self.shipment_address = shipment_address
48
+ self.shipment_city = shipment_city
49
+ self.shipment_zip = shipment_zip
50
+ self.shipment_subdivision = shipment_subdivision
51
+ self.activation_notes = activation_notes
52
+ self.notes = notes
@@ -0,0 +1,63 @@
1
+ # coding: utf-8
2
+ from pyotrs.lib import DynamicField
3
+ from otrs_somconnexio.otrs_models.provision_dynamic_fields import ProvisionDynamicFields
4
+
5
+
6
+ class SwitchboardDynamicFields(ProvisionDynamicFields):
7
+ def _build_specific_dynamic_fields(self):
8
+ dynamic_fields = [
9
+ self._type(),
10
+ self._landline(),
11
+ self._landline_2(),
12
+ self._icc(),
13
+ self._extension(),
14
+ self._agent_name(),
15
+ self._agent_email(),
16
+ self._shipment_address(),
17
+ self._shipment_city(),
18
+ self._shipment_zip(),
19
+ self._shipment_subdivision(),
20
+ ]
21
+ return dynamic_fields
22
+
23
+ def _type(self):
24
+ return DynamicField(name="tipusServeiCV", value=self.service_data.type)
25
+
26
+ def _product(self):
27
+ return DynamicField(name="productCV", value=self.service_data.product)
28
+
29
+ def _landline(self):
30
+ return DynamicField(name="portaFixCV1", value=self.service_data.landline)
31
+
32
+ def _landline_2(self):
33
+ return DynamicField(name="portaFixCV2", value=self.service_data.landline_2)
34
+
35
+ def _icc(self):
36
+ return DynamicField(name="ICCSC", value=self.service_data.icc)
37
+
38
+ def _extension(self):
39
+ return DynamicField(name="extensio", value=self.service_data.extension)
40
+
41
+ def _agent_name(self):
42
+ return DynamicField(name="nomAgentCV", value=self.service_data.agent_name)
43
+
44
+ def _agent_email(self):
45
+ return DynamicField(name="correuAgentCV", value=self.service_data.agent_email)
46
+
47
+ def _shipment_address(self):
48
+ return DynamicField(
49
+ name="direccioEnviament", value=self.service_data.shipment_address
50
+ )
51
+
52
+ def _shipment_city(self):
53
+ return DynamicField(
54
+ name="poblacioEnviament", value=self.service_data.shipment_city
55
+ )
56
+
57
+ def _shipment_zip(self):
58
+ return DynamicField(name="CPenviament", value=self.service_data.shipment_zip)
59
+
60
+ def _shipment_subdivision(self):
61
+ return DynamicField(
62
+ name="provinciaEnviament", value=self.service_data.shipment_subdivision
63
+ )
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ from otrs_somconnexio.otrs_models.provision_ticket import ProvisionTicket
3
+ from otrs_somconnexio.otrs_models.switchboard_dynamic_fields import (
4
+ SwitchboardDynamicFields,
5
+ )
6
+ from otrs_somconnexio.otrs_models.configurations.provision.switchboard_ticket import (
7
+ SwitchboardTicketConfiguration,
8
+ )
9
+
10
+
11
+ class SwitchboardTicket(ProvisionTicket):
12
+ def __init__(self, service_data, customer_data):
13
+ self.service_data = service_data
14
+ self.customer_data = customer_data
15
+ self.otrs_configuration = SwitchboardTicketConfiguration()
16
+
17
+ def service_type(self):
18
+ return "switchboard"
19
+
20
+ def _build_dynamic_fields(self):
21
+ return SwitchboardDynamicFields(
22
+ self.service_data,
23
+ self.customer_data,
24
+ self._ticket_process_id(),
25
+ self._ticket_activity_id(),
26
+ ).all()
@@ -2,6 +2,7 @@ from otrs_somconnexio.otrs_models.adsl_ticket import ADSLTicket
2
2
  from otrs_somconnexio.otrs_models.fiber_ticket import FiberTicket
3
3
  from otrs_somconnexio.otrs_models.mobile_ticket import MobileTicket, MobilePausedTicket
4
4
  from otrs_somconnexio.otrs_models.router_4G_ticket import Router4GTicket
5
+ from otrs_somconnexio.otrs_models.switchboard_ticket import SwitchboardTicket
5
6
  from otrs_somconnexio.exceptions import ServiceTypeNotAllowedError
6
7
 
7
8
 
@@ -31,6 +32,8 @@ class TicketFactory(object):
31
32
  TicketClass = MobileTicket
32
33
  elif self.service_data.service_type == "4G":
33
34
  TicketClass = Router4GTicket
35
+ elif self.service_data.service_type == "switchboard":
36
+ TicketClass = SwitchboardTicket
34
37
  else:
35
38
  raise ServiceTypeNotAllowedError(
36
39
  self.service_data.order_id, self.service_data.service_type
@@ -4,6 +4,7 @@ class GetTicketTitle:
4
4
  "mobile": "mòbil",
5
5
  "adsl": "ADSL",
6
6
  "4G": "4G",
7
+ "switchboard": "Centraleta Virtual",
7
8
  }
8
9
 
9
10
  def __init__(self, technology, order_id, service_type):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: otrs-somconnexio
3
- Version: 0.5.12
3
+ Version: 0.6.0
4
4
  Summary: Python package for Somconnexio data syncing in OTRS
5
5
  Home-page: https://gitlab.com/coopdevs/otrs_somconnexio
6
6
  Author: Coopdevs
@@ -14,20 +14,23 @@ otrs_somconnexio/otrs_models/fiber_data.py,sha256=b8OVbAPBBUUzcQQP5HXRjzm7fvdqlM
14
14
  otrs_somconnexio/otrs_models/fiber_dynamic_fields.py,sha256=xoCCRHyNqauVUwlwAP2aQ0dkNCrA3dy3sNO6LBdHPfU,2703
15
15
  otrs_somconnexio/otrs_models/fiber_ticket.py,sha256=MvhegKUXkJFqWWZZsJ6JksRwvY5cZAZNM1yY9DuNuH8,846
16
16
  otrs_somconnexio/otrs_models/internet_data.py,sha256=5fYV8jTInYJSLjFSAJsnwClzB3MB029KQJXwAyAYqZo,2627
17
- otrs_somconnexio/otrs_models/internet_dynamic_fields.py,sha256=xIE8_jByPPw-f01UE1PB3QzJ4s2rC6kzDTzeI9aCWac,5020
17
+ otrs_somconnexio/otrs_models/internet_dynamic_fields.py,sha256=rsYuGQ8dEyBAqIgyqNVA-76WgCb0y67c3e-Kx9F6MsQ,5018
18
18
  otrs_somconnexio/otrs_models/mobile_data.py,sha256=Ao6Y6ubRVSvBx8S5jmABMO9zaKr2MZGHYY-SDKEteGI,1760
19
19
  otrs_somconnexio/otrs_models/mobile_dynamic_fields.py,sha256=TOb77bw9BmX01kZdfnbg1XnyYcYcn8P4dIY6cWHlzIY,4022
20
20
  otrs_somconnexio/otrs_models/mobile_ticket.py,sha256=NQb809r71CYg76jWvsI55-KdM1Oiysg9zhSCuS67fYU,1171
21
21
  otrs_somconnexio/otrs_models/providers.py,sha256=Jy5lm_gCuwy_BhpNE5JJ5-TrE8aFQpZvMiYZ-PTlgqs,181
22
22
  otrs_somconnexio/otrs_models/provision_article.py,sha256=jONH4lHzjg2jyx_mxjghw503oUT9VI9QwZrJ25HdOS0,469
23
- otrs_somconnexio/otrs_models/provision_dynamic_fields.py,sha256=pgnTSLFxtRozQnmBc6L2vcxUC5UU_CLomh-KBfW-rDs,3419
23
+ otrs_somconnexio/otrs_models/provision_dynamic_fields.py,sha256=AVf0en4nooznhGGZMz18-EOWsZkXjn56MsxRcirNyX0,3307
24
24
  otrs_somconnexio/otrs_models/provision_ticket.py,sha256=g8URtZbUQpwxNfybWhEoxtf9JyYJRHKjO_MU4MWgd7I,2449
25
25
  otrs_somconnexio/otrs_models/router_4G_data.py,sha256=EQIVxVstFswmEcOHzzV1ZyDYaadiU7lbunb5CJg6xAM,194
26
26
  otrs_somconnexio/otrs_models/router_4G_dynamic_fields.py,sha256=NVrfwD2Mj1TTzOC8NYna1XQYXEN6ffAfovlP9VAIHh4,403
27
27
  otrs_somconnexio/otrs_models/router_4G_ticket.py,sha256=xxXoqlf95KDQEcKrdU6I7Oda0hZqY-alaBTu0ZZfcX8,883
28
28
  otrs_somconnexio/otrs_models/service.py,sha256=EwxTSe6hPS33KbbPGNYzofhEhB4O4d71P9KkpOEjakA,2121
29
+ otrs_somconnexio/otrs_models/switchboard_data.py,sha256=Otl1XbN4H3-HLfLUa5bGUZbSEvCSNWEj6fTvcGaFOOs,1482
30
+ otrs_somconnexio/otrs_models/switchboard_dynamic_fields.py,sha256=PgKkffXuz0uwrOyg56C_ELcgXvZlWPE0325rZZb46_0,2097
31
+ otrs_somconnexio/otrs_models/switchboard_ticket.py,sha256=jWkXS2WKBdcx-vgZKU8w_iez4bsl6s9nAtNfALxio-E,860
29
32
  otrs_somconnexio/otrs_models/telecom_company.py,sha256=yh8wIE7-AjWESdFsE479WWZ-3uFz_ljUBKF8GK44oow,3077
30
- otrs_somconnexio/otrs_models/ticket_factory.py,sha256=iVVkfL9yidgvJoCp05j_NJCNQBhWB7Ppm3v2B-fiZPA,1707
33
+ otrs_somconnexio/otrs_models/ticket_factory.py,sha256=6rjIlyBlFH6G4o1tSUhEe8XgM6LMNjxWGdoCMGQGPxc,1891
31
34
  otrs_somconnexio/otrs_models/vf_provisioning_article.py,sha256=AZbtXePA-FA3ufHJsngaXzUL4npJgUqMqvrMSUmCd9o,599
32
35
  otrs_somconnexio/otrs_models/configurations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
36
  otrs_somconnexio/otrs_models/configurations/changes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -42,8 +45,9 @@ otrs_somconnexio/otrs_models/configurations/changes/change_tariff_fiber.py,sha25
42
45
  otrs_somconnexio/otrs_models/configurations/provision/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
46
  otrs_somconnexio/otrs_models/configurations/provision/adsl_ticket.py,sha256=dJ80rfURNCViVTb8h8leFLzHWIVe4eo27VYsPLZP4DI,809
44
47
  otrs_somconnexio/otrs_models/configurations/provision/fiber_ticket.py,sha256=NsFSeq2-Y_vdBex9ycDks_nEWVkemUcwkHfaYu8YKw8,940
45
- otrs_somconnexio/otrs_models/configurations/provision/mobile_ticket.py,sha256=TQgQL9ROecEtTMITSGClKeZuCUfofxejdqTgN9MLsHU,1512
48
+ otrs_somconnexio/otrs_models/configurations/provision/mobile_ticket.py,sha256=bhT3xVI_fABKu0Vb0SN_aE72-iRNUdyfHLHWhjdPjkA,1567
46
49
  otrs_somconnexio/otrs_models/configurations/provision/router_4G_ticket.py,sha256=hkDaHFAAMFI8gnCZBVns9GLgEb_Cz3BlkoStPt3UZjw,259
50
+ otrs_somconnexio/otrs_models/configurations/provision/switchboard_ticket.py,sha256=ZVLqodwES2-VbJlzDzkIunm3Fbb7xStuV_gd0M_krx4,329
47
51
  otrs_somconnexio/otrs_models/configurations/querys/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
52
  otrs_somconnexio/otrs_models/configurations/querys/check_coverage.py,sha256=KD-T-NFSbMNW-MM4xXlonJWZz1ZM17brAb9N2-GNswg,479
49
53
  otrs_somconnexio/otrs_models/configurations/querys/we_call_you.py,sha256=suuTDHY7cK3iiTX9Bjql2wpCXBpALhLf0lXJ7r0bWZA,423
@@ -84,7 +88,7 @@ otrs_somconnexio/services/base_get_ticket_by_number.py,sha256=oaJCx5bHslCd-3-68E
84
88
  otrs_somconnexio/services/change_to_confirm_ticket.py,sha256=apV5BYxotNQdDVfmeQXA1GBwT6R6faOu_IiWqGVEhK4,1420
85
89
  otrs_somconnexio/services/get_mobile_related_tickets.py,sha256=uUU0XF6cCUgfgbaVHsjSzyjhdKqsGNRtFBHZHPCox3I,402
86
90
  otrs_somconnexio/services/get_sharing_data_mobile_tickets.py,sha256=HlFGEf2eMgMv45I0rqJQUCiT32wU2C5ed_8JYHjahw8,2358
87
- otrs_somconnexio/services/get_ticket_title.py,sha256=c3c7XMnIzxETaOQSiofw11JBlEtSjllDrEBRFAV9zX4,745
91
+ otrs_somconnexio/services/get_ticket_title.py,sha256=QCQHkKBFunAk_iIyWsbfftYyFVa-0fTWPRWQsRo-u_o,790
88
92
  otrs_somconnexio/services/mapping_mobile_minutes.py,sha256=mxwAU5PREiqm2K8oFebggI52X_sPwch4XujXd9Ixtlc,255
89
93
  otrs_somconnexio/services/mapping_services.py,sha256=nuZkkD0tSdm7R-wGoKIdRXW8SgZOYpNMTjxdpdJCea4,342
90
94
  otrs_somconnexio/services/move_sharing_data_mobile_tickets.py,sha256=aho3B2RKBKrP1ot5En2KhZEkGAirwqS2tRMjVCvr2Ew,334
@@ -105,28 +109,31 @@ tests/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
109
  tests/data/otrs_raw_responses.py,sha256=hrd6ubWHpm61Epdrpgjr2uLniKj9AFioQ4xnDdNSKzw,1380
106
110
  tests/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
111
  tests/integration/test_change_customer_language.py,sha256=m3hp56hP49ugSvaN7Ic5dRA4NAs3Nk4AkxWz0oQ_kmw,1245
108
- tests/integration/test_ticket_factory.py,sha256=8SmbDA_gmb98CExWBXmpjHA6sZMyObZzAb4IJksoIEI,11471
112
+ tests/integration/test_ticket_factory.py,sha256=h33uLPkwDxacfevQtMTgdk3ANlmBpXzrbD74_quHDFY,13687
109
113
  tests/integration/test_update_ticket_with_coverage_data.py,sha256=19XaaitAaj-mkSpSRFWML47bDfcmuQwuF_r1NVE_eZw,2919
110
114
  tests/otrs_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
+ tests/otrs_models/common_helper.py,sha256=WAd7aenHTfHvxjZMlwFfr32ajaF285Y75eifMjrAQeA,251
111
116
  tests/otrs_models/test_abstract_article.py,sha256=udzIihoP0h8Ien20JFz1jLm5Sv2b3wO6f2JZK6zRTKQ,861
112
117
  tests/otrs_models/test_adsl_data.py,sha256=_NGpe5mStNyKPhZ5xFVS62jMdMr5vkzp9SusHmFh4r4,1484
113
- tests/otrs_models/test_adsl_dynamic_fields.py,sha256=sJtoOcDzDmMn3nXPUQfwanfkxJOSQAcq0Xm8HvKz0CA,20146
118
+ tests/otrs_models/test_adsl_dynamic_fields.py,sha256=c2vM0q0EyJ2Ruwjdn82b7jQwceo0UtDZ71eUQouZNFI,19867
114
119
  tests/otrs_models/test_adsl_ticket.py,sha256=nc3lVMoS1jdl7tZdK-sSM_p8JKgn4rjg-d--hUPiLBo,4445
115
120
  tests/otrs_models/test_coverage_article.py,sha256=O_wm0l75m6sBWEcMdLOvBWDNSVXJ89IkL4IijIgiuPk,1519
116
121
  tests/otrs_models/test_coverage_ticket.py,sha256=0W4f28BMhtZDvPm71d7YPJuiVi9jUI6WJBbjh3xs0mg,1019
117
122
  tests/otrs_models/test_customer_user.py,sha256=9TDojrOsQBqd4kdC8SxvG5Ub18AXkJ_tsYuUeHALZnc,2227
118
123
  tests/otrs_models/test_fiber_data.py,sha256=rdFbcqzI49PV2m30vqnBOmZr2rn_MBqC0bJd0K0dcbI,1833
119
- tests/otrs_models/test_fiber_dynamic_fields.py,sha256=pWBB6hYpXlfD9_ZqNlfG4YPJO4dJzHsX08SgQWSdg1k,26826
124
+ tests/otrs_models/test_fiber_dynamic_fields.py,sha256=jq71ZVWulA8sag-j5IQf95NwqqnI3N9kDVJcL_lfwlo,26549
120
125
  tests/otrs_models/test_fiber_ticket.py,sha256=FllA26ncrzWmWIAeB86ZI-Qk6AGBy2V70IuEtTEVW58,6023
121
126
  tests/otrs_models/test_mobile_data.py,sha256=EBtwJL9kUaThhnKuqpUk6GFv0KS7RhyCF6dJNgr1-m8,1110
122
- tests/otrs_models/test_mobile_dynamic_fields.py,sha256=rP4_8RnlhFpwWjXl7Z3Qeyofgb5hyxOIy-JhORjQ2eE,19567
123
- tests/otrs_models/test_mobile_paused_ticket.py,sha256=xVzpycgTxXTqyx_Csh_O-T8__Fg1OzfFCPqekN47Hpo,1268
124
- tests/otrs_models/test_mobile_ticket.py,sha256=1Mlbphr5r09T357ljZDrlg2wqZJQ04LnZj6NKV-jYOY,4588
127
+ tests/otrs_models/test_mobile_dynamic_fields.py,sha256=Ir-_s2oiLu29SiC4rHgyZQ1M0ZQSZXAXolIXu4fz4YQ,19288
128
+ tests/otrs_models/test_mobile_paused_ticket.py,sha256=JiSJudIgW9vFezEnrx7KgL0rXi6-uHwhzbqpgZI7lOE,1256
129
+ tests/otrs_models/test_mobile_ticket.py,sha256=6KAMXFMK-hnpbY26RoavTsYojT7cbDO901RCMRUOcfk,4607
125
130
  tests/otrs_models/test_provision_article.py,sha256=SwTA96si0tundnu6lGCJGQcaOpnkRnKUYRKO9NcsflI,1773
126
131
  tests/otrs_models/test_router_4G_data.py,sha256=3zKZzWd21j8q4oXFG-Pl1Ugtkp4J0_RZx8HtHRzpfKM,1443
127
- tests/otrs_models/test_router_4G_dynamic_fields.py,sha256=lFhQj-TaGx1-IWUbtTmDQ1cPOSAMc--xbVOCMlrrM8Q,21258
132
+ tests/otrs_models/test_router_4G_dynamic_fields.py,sha256=EEZHfAxQ8bPTrotGuyxcLxkO9DrEzJd5a1VvF5FIBow,20975
128
133
  tests/otrs_models/test_router_4G_ticket.py,sha256=BMdnhAdnmvYfjyxvRN0dcCyS1hMFESV8EgAsCdHbFAo,4496
129
134
  tests/otrs_models/test_service.py,sha256=fLFyJ5wE8jszrD9sZlSOebjioR8dv8z2SeGZVcA3r5U,6833
135
+ tests/otrs_models/test_switchboard_data.py,sha256=DKgpfa-xwpkrjFCiwymf8dczKR8JoofdSWTe05voIpc,1144
136
+ tests/otrs_models/test_switchboard_dynamic_fields.py,sha256=-vgt6TlaubdylDUj-bOX5KWZo1wTXwoiMx2SAyaAyB4,4150
130
137
  tests/otrs_models/test_telecom_company.py,sha256=nC4uBleU2Lr3qHr5VDo-6kbcTVwKgguC85TcbhTOn1c,1450
131
138
  tests/otrs_models/test_ticket_factory.py,sha256=BJ32OcK2XgO43pkKIdTK4xOZNi7JZBllUdb022AHKsc,2371
132
139
  tests/otrs_models/test_vf_provisioning_article.py,sha256=Yj8vtaowhxP12K_-FMcJNW-5re3yyCCfGLRHCPYgrVA,897
@@ -176,7 +183,7 @@ tests/services/test_update_ticket_with_provider_info.py,sha256=cZUg-hNV4BoMwafbp
176
183
  tests/user_management_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
177
184
  tests/user_management_client/test_client.py,sha256=088q9H1yf8Hii7zUF17KULqOO-JCxJLsR7vQ8lGHiqg,4410
178
185
  tests/user_management_client/test_user_management_response.py,sha256=HCCG7i2f6-ytrRpTzYZHODKCdW-X5GJn-BMVegd5FXg,1539
179
- otrs_somconnexio-0.5.12.dist-info/METADATA,sha256=xpFR8Dp-kn-oQucFxP8-tIbPTL7hSnbNFvvOeMqz2sA,3459
180
- otrs_somconnexio-0.5.12.dist-info/WHEEL,sha256=fS9sRbCBHs7VFcwJLnLXN1MZRR0_TVTxvXKzOnaSFs8,110
181
- otrs_somconnexio-0.5.12.dist-info/top_level.txt,sha256=gvMaHGNwusWpSIy-PVyb0CKDIA4-4fXmEVER_2a-OnE,23
182
- otrs_somconnexio-0.5.12.dist-info/RECORD,,
186
+ otrs_somconnexio-0.6.0.dist-info/METADATA,sha256=fgGdlWJVcSloVtAgXWptb3_ljWhTix7pSSO1YgN43rA,3458
187
+ otrs_somconnexio-0.6.0.dist-info/WHEEL,sha256=fS9sRbCBHs7VFcwJLnLXN1MZRR0_TVTxvXKzOnaSFs8,110
188
+ otrs_somconnexio-0.6.0.dist-info/top_level.txt,sha256=gvMaHGNwusWpSIy-PVyb0CKDIA4-4fXmEVER_2a-OnE,23
189
+ otrs_somconnexio-0.6.0.dist-info/RECORD,,
@@ -5,9 +5,27 @@ from otrs_somconnexio.otrs_models.ticket_factory import TicketFactory
5
5
  from otrs_somconnexio.otrs_models.adsl_ticket import ADSLTicket
6
6
  from otrs_somconnexio.otrs_models.fiber_ticket import FiberTicket
7
7
  from otrs_somconnexio.otrs_models.mobile_ticket import MobileTicket, MobilePausedTicket
8
+ from otrs_somconnexio.otrs_models.router_4G_ticket import Router4GTicket
9
+ from otrs_somconnexio.otrs_models.switchboard_ticket import SwitchboardTicket
8
10
 
9
11
 
10
12
  class TicketFactoryIntegrationTestCase(unittest.TestCase):
13
+ def setUp(self):
14
+ self.customer_data = Mock(
15
+ spec=[
16
+ "id",
17
+ "first_name",
18
+ "name",
19
+ "vat_number",
20
+ "street",
21
+ "city",
22
+ "zip",
23
+ "subdivision",
24
+ "has_active_contracts",
25
+ "language",
26
+ ]
27
+ )
28
+
11
29
  @patch("otrs_somconnexio.otrs_models.provision_ticket.OTRSClient")
12
30
  def test_create_mobile_ticket_factory(self, MockOTRSClient):
13
31
  mobile_data = Mock(
@@ -41,20 +59,6 @@ class TicketFactoryIntegrationTestCase(unittest.TestCase):
41
59
  "shared_bond_id",
42
60
  ]
43
61
  )
44
- customer_data = Mock(
45
- spec=[
46
- "id",
47
- "first_name",
48
- "name",
49
- "vat_number",
50
- "street",
51
- "city",
52
- "zip",
53
- "subdivision",
54
- "has_active_contracts",
55
- "language",
56
- ]
57
- )
58
62
 
59
63
  mobile_data.service_type = "mobile"
60
64
 
@@ -66,7 +70,7 @@ class TicketFactoryIntegrationTestCase(unittest.TestCase):
66
70
  MockOTRSClient.return_value = mock_otrs_client
67
71
 
68
72
  ticket = TicketFactory(
69
- service_data=mobile_data, customer_data=customer_data
73
+ service_data=mobile_data, customer_data=self.customer_data
70
74
  ).build()
71
75
  ticket.create()
72
76
 
@@ -105,20 +109,6 @@ class TicketFactoryIntegrationTestCase(unittest.TestCase):
105
109
  "shared_bond_id",
106
110
  ]
107
111
  )
108
- customer_data = Mock(
109
- spec=[
110
- "id",
111
- "first_name",
112
- "name",
113
- "vat_number",
114
- "street",
115
- "city",
116
- "zip",
117
- "subdivision",
118
- "has_active_contracts",
119
- "language",
120
- ]
121
- )
122
112
 
123
113
  mobile_data.service_type = "mobile"
124
114
  mobile_data.type = "portability"
@@ -133,7 +123,7 @@ class TicketFactoryIntegrationTestCase(unittest.TestCase):
133
123
 
134
124
  ticket = TicketFactory(
135
125
  service_data=mobile_data,
136
- customer_data=customer_data,
126
+ customer_data=self.customer_data,
137
127
  ).build()
138
128
  ticket.create()
139
129
 
@@ -172,20 +162,7 @@ class TicketFactoryIntegrationTestCase(unittest.TestCase):
172
162
  "shared_bond_id",
173
163
  ]
174
164
  )
175
- customer_data = Mock(
176
- spec=[
177
- "id",
178
- "first_name",
179
- "name",
180
- "vat_number",
181
- "street",
182
- "city",
183
- "zip",
184
- "subdivision",
185
- "has_active_contracts",
186
- "language",
187
- ]
188
- )
165
+
189
166
  mobile_data.service_type = "mobile"
190
167
  mobile_data.product = "SE_SC_REC_MOBILE_PACK_UNL_20480"
191
168
  mobile_data.is_grouped_with_fiber = True
@@ -199,7 +176,7 @@ class TicketFactoryIntegrationTestCase(unittest.TestCase):
199
176
 
200
177
  ticket = TicketFactory(
201
178
  service_data=mobile_data,
202
- customer_data=customer_data,
179
+ customer_data=self.customer_data,
203
180
  ).build()
204
181
  ticket.create()
205
182
 
@@ -248,20 +225,6 @@ class TicketFactoryIntegrationTestCase(unittest.TestCase):
248
225
  "sales_team",
249
226
  ]
250
227
  )
251
- customer_data = Mock(
252
- spec=[
253
- "id",
254
- "first_name",
255
- "name",
256
- "vat_number",
257
- "street",
258
- "city",
259
- "zip",
260
- "subdivision",
261
- "has_active_contracts",
262
- "language",
263
- ]
264
- )
265
228
 
266
229
  service_data.service_type = "adsl"
267
230
 
@@ -272,7 +235,7 @@ class TicketFactoryIntegrationTestCase(unittest.TestCase):
272
235
  mock_otrs_client.create_otrs_process_ticket.return_value = otrs_process_ticket
273
236
  MockOTRSClient.return_value = mock_otrs_client
274
237
 
275
- ticket = TicketFactory(service_data, customer_data).build()
238
+ ticket = TicketFactory(service_data, self.customer_data).build()
276
239
  ticket.create()
277
240
  ticket.create()
278
241
 
@@ -326,18 +289,63 @@ class TicketFactoryIntegrationTestCase(unittest.TestCase):
326
289
  "product_ba_mm",
327
290
  ]
328
291
  )
329
- customer_data = Mock(
292
+
293
+ service_data.service_type = "fiber"
294
+
295
+ otrs_process_ticket = Mock(spec=["id"])
296
+ otrs_process_ticket.id = 234
297
+
298
+ mock_otrs_client = Mock(spec=["create_otrs_process_ticket"])
299
+ mock_otrs_client.create_otrs_process_ticket.return_value = otrs_process_ticket
300
+ MockOTRSClient.return_value = mock_otrs_client
301
+
302
+ ticket = TicketFactory(service_data, self.customer_data).build()
303
+ ticket.create()
304
+
305
+ self.assertIsInstance(ticket, FiberTicket)
306
+ self.assertEqual(ticket.id, 234)
307
+
308
+ @patch("otrs_somconnexio.otrs_models.provision_ticket.OTRSClient")
309
+ def test_create_router_4G_ticket_factory(self, MockOTRSClient):
310
+ service_data = Mock(
330
311
  spec=[
331
- "id",
332
- "first_name",
333
- "name",
334
- "vat_number",
335
- "phone",
336
- "has_active_contracts",
337
- "language",
312
+ "order_id",
313
+ "previous_provider",
314
+ "previous_owner_name",
315
+ "previous_owner_surname",
316
+ "previous_owner_vat",
317
+ "previous_service",
318
+ "previous_contract_address",
319
+ "previous_contract_phone",
320
+ "previous_internal_provider",
321
+ "service_address",
322
+ "service_city",
323
+ "service_zip",
324
+ "service_subdivision",
325
+ "service_subdivision_code",
326
+ "shipment_address",
327
+ "shipment_city",
328
+ "shipment_zip",
329
+ "shipment_subdivision",
330
+ "adsl_coverage",
331
+ "mm_fiber_coverage",
332
+ "asociatel_fiber_coverage",
333
+ "orange_fiber_coverage",
334
+ "vdf_fiber_coverage",
335
+ "type",
336
+ "iban",
337
+ "email",
338
+ "contact_phone",
339
+ "phone_number",
340
+ "notes",
341
+ "activation_notes",
342
+ "product",
343
+ "technology",
344
+ "sales_team",
338
345
  ]
339
346
  )
340
- service_data.service_type = "fiber"
347
+
348
+ service_data.service_type = "4G"
341
349
 
342
350
  otrs_process_ticket = Mock(spec=["id"])
343
351
  otrs_process_ticket.id = 234
@@ -346,8 +354,52 @@ class TicketFactoryIntegrationTestCase(unittest.TestCase):
346
354
  mock_otrs_client.create_otrs_process_ticket.return_value = otrs_process_ticket
347
355
  MockOTRSClient.return_value = mock_otrs_client
348
356
 
349
- ticket = TicketFactory(service_data, customer_data).build()
357
+ ticket = TicketFactory(service_data, self.customer_data).build()
350
358
  ticket.create()
351
359
 
352
- self.assertIsInstance(ticket, FiberTicket)
360
+ self.assertIsInstance(ticket, Router4GTicket)
361
+ self.assertEqual(ticket.id, 234)
362
+
363
+ @patch("otrs_somconnexio.otrs_models.provision_ticket.OTRSClient")
364
+ def test_create_switchboard_ticket_factory(self, MockOTRSClient):
365
+ service_data = Mock(
366
+ spec=[
367
+ "order_id",
368
+ "technology",
369
+ "sales_team",
370
+ "type",
371
+ "iban",
372
+ "email",
373
+ "contact_phone",
374
+ "product",
375
+ "landline",
376
+ "landline_2",
377
+ "agent_name",
378
+ "agent_email",
379
+ "previous_owner_name",
380
+ "previous_owner_surname",
381
+ "extension",
382
+ "icc",
383
+ "shipment_address",
384
+ "shipment_city",
385
+ "shipment_zip",
386
+ "shipment_subdivision",
387
+ "notes",
388
+ "activation_notes",
389
+ ]
390
+ )
391
+
392
+ service_data.service_type = "switchboard"
393
+
394
+ otrs_process_ticket = Mock(spec=["id"])
395
+ otrs_process_ticket.id = 234
396
+
397
+ mock_otrs_client = Mock(spec=["create_otrs_process_ticket"])
398
+ mock_otrs_client.create_otrs_process_ticket.return_value = otrs_process_ticket
399
+ MockOTRSClient.return_value = mock_otrs_client
400
+
401
+ ticket = TicketFactory(service_data, self.customer_data).build()
402
+ ticket.create()
403
+
404
+ self.assertIsInstance(ticket, SwitchboardTicket)
353
405
  self.assertEqual(ticket.id, 234)
@@ -0,0 +1,9 @@
1
+ def dynamic_fields_to_dct(dynamic_fields):
2
+ """
3
+ Convert an object in a dict with the name of the dynamic
4
+ field as key and the value as value.
5
+ """
6
+ dct = {}
7
+ for df in dynamic_fields:
8
+ dct[df.name] = df.value
9
+ return dct
@@ -2,18 +2,7 @@ import unittest
2
2
  from mock import Mock
3
3
 
4
4
  from otrs_somconnexio.otrs_models.adsl_dynamic_fields import ADSLDynamicFields
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 ADSLDynamicFieldsTestCase(unittest.TestCase):
@@ -2,18 +2,7 @@ import unittest
2
2
  from mock import Mock
3
3
 
4
4
  from otrs_somconnexio.otrs_models.fiber_dynamic_fields import FiberDynamicFields
5
-
6
-
7
- def dynamic_fields_to_dct(dynamic_fields):
8
- """
9
- Convert the FiberDynamicFields 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 FiberDynamicFields 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 FiberDynamicFieldsTestCase(unittest.TestCase):
@@ -2,18 +2,7 @@ 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):
@@ -4,7 +4,6 @@ from mock import Mock, patch
4
4
 
5
5
  from otrs_somconnexio.otrs_models.mobile_ticket import MobilePausedTicket
6
6
  from otrs_somconnexio.otrs_models.configurations.provision.mobile_ticket import (
7
- MobileTicketConfiguration,
8
7
  MobileTicketPausedConfiguration,
9
8
  )
10
9
 
@@ -22,8 +21,8 @@ class MobileTicketPausedTestCase(unittest.TestCase):
22
21
  "Type": MobileTicketPausedConfiguration.type,
23
22
  "QueueID": MobileTicketPausedConfiguration.queue_id,
24
23
  "State": MobileTicketPausedConfiguration.state,
25
- "SLA": False,
26
- "Service": False,
24
+ "SLA": "No pendent resposta",
25
+ "Service": "Mòbil",
27
26
  "Priority": MobileTicketPausedConfiguration.priority,
28
27
  "CustomerUser": customer_data.id,
29
28
  "CustomerID": customer_data.id,
@@ -21,8 +21,8 @@ class MobileTicketTestCase(unittest.TestCase):
21
21
  "Type": MobileTicketConfiguration.type,
22
22
  "QueueID": MobileTicketConfiguration.queue_id,
23
23
  "State": MobileTicketConfiguration.state,
24
- "SLA": False,
25
- "Service": False,
24
+ "SLA": "No pendent resposta",
25
+ "Service": "Mòbil",
26
26
  "Priority": MobileTicketConfiguration.priority,
27
27
  "CustomerUser": customer_data.id,
28
28
  "CustomerID": customer_data.id,
@@ -2,18 +2,7 @@ import unittest
2
2
  from mock import Mock
3
3
 
4
4
  from otrs_somconnexio.otrs_models.router_4G_dynamic_fields import Router4GDynamicFields
5
-
6
-
7
- def dynamic_fields_to_dct(dynamic_fields):
8
- """
9
- Convert the Router4GDynamicFields 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 Router4GDynamicFields 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 Router4GDynamicFieldsTestCase(unittest.TestCase):
@@ -0,0 +1,35 @@
1
+ # coding: utf-8
2
+ import unittest
3
+
4
+ from otrs_somconnexio.otrs_models.switchboard_data import SwitchboardData
5
+
6
+
7
+ class SwitchboardDataTestCase(unittest.TestCase):
8
+ def test_init(self):
9
+ switchboard_data = SwitchboardData(
10
+ order_id="1234567890",
11
+ iban="ES6621000418401234567891",
12
+ email="test@test.com",
13
+ contact_phone="666666661",
14
+ product="product",
15
+ technology="switchboard",
16
+ sales_team="Business",
17
+ type="new",
18
+ landline="999888777",
19
+ landline_2="999888778",
20
+ extension="123",
21
+ agent_name="agent1",
22
+ agent_email="agent1@company.org",
23
+ icc="123456789",
24
+ previous_owner_vat="ES12345678A",
25
+ previous_owner_name="name",
26
+ previous_owner_surname="surname",
27
+ shipment_address="address",
28
+ shipment_city="city",
29
+ shipment_zip="08001",
30
+ shipment_subdivision="ES-B",
31
+ notes="Notes",
32
+ activation_notes="More notes",
33
+ )
34
+
35
+ self.assertIsInstance(switchboard_data, SwitchboardData)
@@ -0,0 +1,135 @@
1
+ import unittest
2
+ from mock import Mock
3
+ from faker import Faker
4
+
5
+ from otrs_somconnexio.otrs_models.switchboard_dynamic_fields import (
6
+ SwitchboardDynamicFields,
7
+ )
8
+ from .common_helper import dynamic_fields_to_dct
9
+
10
+
11
+ class SwitchboardDynamicFieldsTestCase(unittest.TestCase):
12
+ def setUp(self):
13
+ faker = Faker("es_CA")
14
+
15
+ customer_data = Mock(
16
+ first_name=faker.first_name(),
17
+ name=faker.last_name(),
18
+ vat_number=faker.ssn(),
19
+ has_active_contracts=faker.boolean(),
20
+ language=faker.language_code(),
21
+ )
22
+
23
+ self.service_data = Mock(
24
+ order_id=faker.uuid4(),
25
+ iban=faker.iban(),
26
+ email=faker.email(),
27
+ contact_phone=faker.phone_number(),
28
+ product=faker.word(),
29
+ technology=faker.word(),
30
+ sales_team=faker.word(),
31
+ type=faker.word(),
32
+ landline=faker.phone_number(),
33
+ landline_2=faker.phone_number(),
34
+ icc=faker.bban(),
35
+ extension=faker.phone_number(),
36
+ agent_name=faker.name(),
37
+ agent_email=faker.email(),
38
+ previous_owner_vat=faker.ssn(),
39
+ previous_owner_name=faker.first_name(),
40
+ previous_owner_surname=faker.last_name(),
41
+ shipment_address=faker.street_address(),
42
+ shipment_city=faker.city(),
43
+ shipment_zip=faker.zipcode(),
44
+ shipment_subdivision=faker.state(),
45
+ )
46
+
47
+ self.switchboard_otrs_process_id = faker.uuid4()
48
+ self.switchboard_otrs_activity_id = faker.uuid4()
49
+
50
+ self.dynamic_fields = SwitchboardDynamicFields(
51
+ self.service_data,
52
+ customer_data,
53
+ self.switchboard_otrs_process_id,
54
+ self.switchboard_otrs_activity_id,
55
+ ).all()
56
+
57
+ self.dynamic_fields_dct = dynamic_fields_to_dct(self.dynamic_fields)
58
+
59
+ def test_process_id_field(self):
60
+ self.assertEqual(
61
+ self.dynamic_fields_dct["ProcessManagementProcessID"],
62
+ self.switchboard_otrs_process_id,
63
+ )
64
+
65
+ def test_activity_id_field(self):
66
+ self.assertEqual(
67
+ self.dynamic_fields_dct["ProcessManagementActivityID"],
68
+ self.switchboard_otrs_activity_id,
69
+ )
70
+
71
+ def test_product_field(self):
72
+ self.assertEqual(
73
+ self.dynamic_fields_dct["productCV"],
74
+ self.service_data.product,
75
+ )
76
+
77
+ def test_extension_field(self):
78
+ self.assertEqual(
79
+ self.dynamic_fields_dct["extensio"],
80
+ self.service_data.extension,
81
+ )
82
+
83
+ def test_landline_field(self):
84
+ self.assertEqual(
85
+ self.dynamic_fields_dct["portaFixCV1"],
86
+ self.service_data.landline,
87
+ )
88
+
89
+ def test_landline_2_field(self):
90
+ self.assertEqual(
91
+ self.dynamic_fields_dct["portaFixCV2"],
92
+ self.service_data.landline_2,
93
+ )
94
+
95
+ def test_ICC_field(self):
96
+ self.assertEqual(
97
+ self.dynamic_fields_dct["ICCSC"],
98
+ self.service_data.icc,
99
+ )
100
+
101
+ def test_agent_name_field(self):
102
+ self.assertEqual(
103
+ self.dynamic_fields_dct["nomAgentCV"],
104
+ self.service_data.agent_name,
105
+ )
106
+
107
+ def test_agent_email_field(self):
108
+ self.assertEqual(
109
+ self.dynamic_fields_dct["correuAgentCV"],
110
+ self.service_data.agent_email,
111
+ )
112
+
113
+ def test_shipment_address_field(self):
114
+ self.assertEqual(
115
+ self.dynamic_fields_dct["direccioEnviament"],
116
+ self.service_data.shipment_address,
117
+ )
118
+
119
+ def test_shipment_city_field(self):
120
+ self.assertEqual(
121
+ self.dynamic_fields_dct["poblacioEnviament"],
122
+ self.service_data.shipment_city,
123
+ )
124
+
125
+ def test_shipment_zip_field(self):
126
+ self.assertEqual(
127
+ self.dynamic_fields_dct["CPenviament"],
128
+ self.service_data.shipment_zip,
129
+ )
130
+
131
+ def test_shipment_subdivision_field(self):
132
+ self.assertEqual(
133
+ self.dynamic_fields_dct["provinciaEnviament"],
134
+ self.service_data.shipment_subdivision,
135
+ )