Set EAP billing event to one-year period

This is consistent with how we treat RESTORE billing events as well- in
general, fees are considered to be amortized over the course of a year (by the
invoicing team).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199684843
This commit is contained in:
larryruili 2018-06-07 13:19:48 -07:00 committed by Ben McIlwain
parent ea08661598
commit 1c71487e5d
4 changed files with 5 additions and 1 deletions

View file

@ -525,6 +525,7 @@ public class DomainCreateFlow implements TransactionalFlow {
.setReason(Reason.FEE_EARLY_ACCESS)
.setTargetId(createBillingEvent.getTargetId())
.setClientId(createBillingEvent.getClientId())
.setPeriodYears(1)
.setCost(feesAndCredits.getEapCost())
.setEventTime(createBillingEvent.getEventTime())
.setBillingTime(createBillingEvent.getBillingTime())

View file

@ -304,13 +304,14 @@ public abstract class BillingEvent extends ImmutableObject
ImmutableSet<Reason> reasonsWithPeriods =
Sets.immutableEnumSet(
Reason.CREATE,
Reason.FEE_EARLY_ACCESS,
Reason.RENEW,
Reason.RESTORE,
Reason.TRANSFER);
checkState(
reasonsWithPeriods.contains(instance.reason) == (instance.periodYears != null),
"Period years must be set if and only if reason is "
+ "CREATE, RENEW, RESTORE or TRANSFER.");
+ "CREATE, FEE_EARLY_ACCESS, RENEW, RESTORE or TRANSFER.");
checkState(
instance.getFlags().contains(Flag.SYNTHETIC)
== (instance.syntheticCreationTime != null),

View file

@ -305,6 +305,7 @@ public class EppLifecycleDomainTest extends EppTestCase {
.setReason(Reason.FEE_EARLY_ACCESS)
.setTargetId("example.tld")
.setClientId("NewRegistrar")
.setPeriodYears(1)
.setCost(Money.parse("USD 100.00"))
.setEventTime(createTime)
.setBillingTime(createTime.plus(Registry.get("tld").getRenewGracePeriodLength()))

View file

@ -267,6 +267,7 @@ public class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow,
.setReason(Reason.FEE_EARLY_ACCESS)
.setTargetId(getUniqueIdFromCommand())
.setClientId("TheRegistrar")
.setPeriodYears(1)
.setCost(eapFee)
.setEventTime(clock.nowUtc())
.setBillingTime(billingTime)