Serwisy
Serwis domenowy
class PauseSubscriptionDomainService {
Result pause(Subscriber subscriber, IndividualSubsription subscription) {
LoyalityPoints points = subscriber.currentPoints();
if (points.qualifyToPremium()) {
return subscription.pause(new CanAlwaysPausePolicy());
}
return subscription.pause(new StandardPausingPolicy());
}
}
class PauseSubscriptionDomainServiceSpec extends Specification {
PauseSubscriptionDomainService service = new PauseSubscriptionService()
def 'premium subscriber can always pause subscription'() {
given:
IndividualSubscription sub = anIndividualSubscription(with10Pauses())
and:
Subscriber subscriber = withLoyalityPoints(enoughToBePremium())
when:
Result result = pauseSubscriptionService.pause(subscriber, sub)
then:
result.isSuccessful()
}
}Serwis aplikacyjny
Last updated