diff --git a/cini/models.py b/cini/models.py index 94f7688..e32adf0 100644 --- a/cini/models.py +++ b/cini/models.py @@ -822,6 +822,7 @@ def __init__(self): self.telemando = None self.situacion = None self.aislante = None + self.tipus_ct = None @property def cini(self): @@ -850,10 +851,16 @@ def cini(self): if self.situacion == 'LAT' and self.tipo: c.positions[5] = self.TIPOS.get(self.tipo, ' ') elif self.situacion in ('CT', 'SE') and self.aislante: - if self.aislante.upper() == 'AIRE': - c.positions[5] = 'C' - else: - c.positions[5] = 'A' + if self.tipus_ct and self.tipus_ct.upper() == 'INTEMPERIE': + if self.aislante.upper() == 'AIRE': + c.positions[5] = 'D' + else: + c.positions[5] = 'B' + else: # En el cas de ser un 'Interior' o SE. + if self.aislante.upper() == 'AIRE': + c.positions[5] = 'C' + else: + c.positions[5] = 'A' if self.situacion == 'LAT' and self.telemando is not None: if self.telemando: c.positions[6] = '2' diff --git a/spec/fiabilidad_spec.py b/spec/fiabilidad_spec.py index 6763f6d..05abbfa 100644 --- a/spec/fiabilidad_spec.py +++ b/spec/fiabilidad_spec.py @@ -175,30 +175,64 @@ with before.all: self.fiab = Fiabilidad() self.fiab.situacion = 'CT' - with context('el aislante es AIRE'): - with it('must be C'): - self.fiab.aislante = 'aire' - cini = self.fiab.cini - expect(cini[5]).to(equal('C')) - with context('los otros casos'): - with it('must be A'): - self.fiab.aislante = 'sf6' - cini = self.fiab.cini - expect(cini[5]).to(equal('A')) - with context('Si es una SE'): + self.fiab.tipus_ct = 'INTEMPERIE' + with context('el tipo de CT es INTEMPERIE'): + with context('el aislante es AIRE'): + with it('must be D'): + self.fiab.aislante = 'aire' + cini = self.fiab.cini + expect(cini[5]).to(equal('D')) + with context('los otros casos'): + with it('must be B'): + self.fiab.aislante = 'sf6' + cini = self.fiab.cini + expect(cini[5]).to(equal('B')) + with before.all: + self.fiab = Fiabilidad() + self.fiab.situacion = 'CT' + self.fiab.tipus_ct = 'INTERIOR' + with context('el tipo de CT es INTERIOR'): + with context('el aislante es AIRE'): + with it('must be C'): + self.fiab.aislante = 'aire' + cini = self.fiab.cini + expect(cini[5]).to(equal('C')) + with context('los otros casos'): + with it('must be A'): + self.fiab.aislante = 'sf6' + cini = self.fiab.cini + expect(cini[5]).to(equal('A')) + with context('Si es un CT'): with before.all: self.fiab = Fiabilidad() self.fiab.situacion = 'SE' - with context('el aislante es AIRE'): - with it('must be C'): - self.fiab.aislante = 'aire' - cini = self.fiab.cini - expect(cini[5]).to(equal('C')) - with context('los otros casos'): - with it('must be A'): - self.fiab.aislante = 'sf6' - cini = self.fiab.cini - expect(cini[5]).to(equal('A')) + self.fiab.tipus_ct = 'INTEMPERIE' + with context('el tipo de SE es INTEMPERIE'): + with context('el aislante es AIRE'): + with it('must be C'): + self.fiab.aislante = 'aire' + cini = self.fiab.cini + expect(cini[5]).to(equal('C')) + with context('los otros casos'): + with it('must be A'): + self.fiab.aislante = 'sf6' + cini = self.fiab.cini + expect(cini[5]).to(equal('A')) + with before.all: + self.fiab = Fiabilidad() + self.fiab.situacion = 'SE' + self.fiab.tipus_ct = 'INTERIOR' + with context('el tipo de SE es INTERIOR'): + with context('el aislante es AIRE'): + with it('must be C'): + self.fiab.aislante = 'aire' + cini = self.fiab.cini + expect(cini[5]).to(equal('C')) + with context('los otros casos'): + with it('must be A'): + self.fiab.aislante = 'sf6' + cini = self.fiab.cini + expect(cini[5]).to(equal('A')) with description('la sexta posición'): with context('si es LAT'):