Oriolac / testing-ep

0 stars 0 forks source link

DispensingTerminal -> initNewSale() : DispensingNotAvailableException #4

Closed Oriolac closed 4 years ago

Oriolac commented 4 years ago

En cas de no agafar encara cap ePrescription, hauria de llançar DispensingNotAvailableException o no s'hauria de tenir en compte?

public void initNewSale() throws DispensingNotAvailableException {
        if(ePrescription == null || !ePrescription.dispensingEnabled())
            throw new DispensingNotAvailableException("La E-Recepta no està encara habilitada");
        sale = new Sale(ePrescription);
    }
Oriolac commented 4 years ago

He vist als contractes que posa això a les precondicions:

Es disposa una instància ep de ePrescription

Així que suposo que no caldrà.

pau-ibanez commented 4 years ago

Sí, segurament no calgui, perquè a l'hora d'obtenir la ePrescription al mètode getePrescription, ja es llança la excepció que calgui si hi ha algún error. Tot i així, si la ePrescription és null a initNewSale(), llançar una DispensingNotAvailableException potser no és el més correcte, no ? Millor NotValidPrescriptionException, potser.