Esempio n. 1
0
    def test_totalPrice_withMaximumSessions(self):
        
        patient = Patient(name='patient one with  order ', mobileNumber='11111')
        service = Service(name='service for orders x', price=250)

        offer = Offer(name='offer one ')
        serviceOffer = ServiceOffer (price=100, service=service, minimumSessions=2, maximumSessions=2)

        offer.serviceOffers.append( serviceOffer )
        sessions = [Session(),Session(),Session()]

        order = ServiceOrder(patient=patient, service=service, sessions=sessions, numberOfSessions=5 , serviceOffer=serviceOffer)

        db.session.add(offer)
        db.session.add(order)
        db.session.commit()

        self.assertEquals(serviceOffer.minimumSessions, 2)
        self.assertEquals(serviceOffer.maximumSessions, 2)

        self.assertEquals(serviceOffer.calculatePrice(5, service.price), 950)

        self.assertEquals(order.totalPrice, 950)

        self.assertEquals(order.totalPayments, 0)
Esempio n. 2
0
    def test_totalPrice(self):
        
        patient = Patient(name='patient one with  order ', mobileNumber='11111')
        service = Service(name='service for orders x', price=250)

        offer = Offer(name='offer one ')
        serviceOffer = ServiceOffer(price=100, service = service, minimumSessions=1)
        offer.serviceOffers.append( serviceOffer )
        
        sessions = [Session(),Session(),Session()]

        order = ServiceOrder(patient=patient, service=service, sessions=sessions, numberOfSessions=3 , serviceOffer=serviceOffer)

        self.assertEquals(serviceOffer.minimumSessions, 1)
        self.assertEquals(serviceOffer.calculatePrice(3, service.price), 450)

        self.assertEquals(order.totalPrice, ((3-1) * serviceOffer.price) + (serviceOffer.minimumSessions * service.price))

        self.assertEquals(order.totalPayments, 0)
Esempio n. 3
0
    def test_totalPrice_zero_minimumSessions(self):
        
        patient = Patient(name='patient one with  order ', mobileNumber='11111')
        service = Service(name='service for orders x', price=250)

        offer = Offer(name='offer one with zero minimum no of sessions ')
        serviceOffer = ServiceOffer(price=100, service = service)
        offer.serviceOffers.append(serviceOffer)

        sessions = [Session(),Session(),Session()]

        order = ServiceOrder(patient=patient, service=service, sessions=sessions, numberOfSessions=3 , serviceOffer=serviceOffer)

        self.assertEquals(serviceOffer.minimumSessions, 0)
        self.assertEquals(serviceOffer.calculatePrice(3, service.price), 300)

        self.assertEquals(order.numberOfSessions, 3)
        self.assertEquals(order.sessions.count(), 3)

        self.assertEquals(order.totalPrice, 100 * 3)

        self.assertEquals(order.totalPayments, 0)
Esempio n. 4
0
    def test_totalPrice_withMaximumSessionsArbitrry(self):
        service = Service(name='service for orders x', price=250)

        servcieOffer = ServiceOffer(price=100, service=service)
        numberOfSessions = 1
        expectedResult = 100
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=1, maximumSessions=1)
        numberOfSessions = 1
        expectedResult = 250
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)

        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=3, maximumSessions=4)
        numberOfSessions = 1
        expectedResult = 250
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=5, maximumSessions=5)
        numberOfSessions = 1
        expectedResult = 250
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=6, maximumSessions=1)
        numberOfSessions = 1
        expectedResult = 250
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=2, maximumSessions=2)
        numberOfSessions = 1
        expectedResult = 250
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=2, maximumSessions=2)
        numberOfSessions = 1
        expectedResult = 250
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)




        servcieOffer = ServiceOffer(price=100, service=service)
        numberOfSessions = 4
        expectedResult = 100 * 4
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=1, maximumSessions=1)
        numberOfSessions = 4
        expectedResult = 850
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=3, maximumSessions=4)
        numberOfSessions = 3
        expectedResult = 750
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=5, maximumSessions=5)
        numberOfSessions = 5
        expectedResult = 1250
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=6, maximumSessions=1)
        numberOfSessions = 5
        expectedResult = 1250
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=2, maximumSessions=2)

        numberOfSessions = 7
        expectedResult = 1450
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=100, service=service, minimumSessions=2, maximumSessions=2)

        numberOfSessions = 8
        expectedResult = 1700
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, service.price), expectedResult)


        servcieOffer = ServiceOffer(price=50, service=service, minimumSessions=3, maximumSessions=4)

        numberOfSessions = 10
        expectedResult = 800
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, 100), expectedResult)


        servcieOffer = ServiceOffer(price=0, service=service, minimumSessions=0, maximumSessions=0)

        numberOfSessions = 10
        expectedResult = 0
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions, 100), expectedResult)


        servcieOffer = ServiceOffer(price=0, service=service, minimumSessions=0, maximumSessions=0)

        numberOfSessions = 10
        expectedResult = 0
        self.assertEquals(servcieOffer.calculatePrice(numberOfSessions), expectedResult)