package com.tourguide.modules.domain;
|
|
import com.tourguide.modules.operation.domain.ServiceType;
|
import com.tourguide.modules.order.domain.OrderStatus;
|
import com.tourguide.modules.order.domain.PaymentStatus;
|
import com.tourguide.modules.order.domain.RefundStatus;
|
import org.junit.jupiter.api.Test;
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
class DomainEnumTest {
|
@Test
|
void shouldExposeCanonicalServiceTypeCodes() {
|
assertThat(ServiceType.values()).extracting(ServiceType::getCode)
|
.containsExactly("GROUP_QUICK", "GROUP_PREMIUM", "PRIVATE_QUICK", "PRIVATE_PREMIUM");
|
}
|
|
@Test
|
void shouldKeepOrderPaymentAndRefundStatesSeparated() {
|
assertThat(OrderStatus.isRefundable(OrderStatus.PENDING_ACCEPT.getCode())).isTrue();
|
assertThat(OrderStatus.isRefundable(OrderStatus.PENDING_PAYMENT.getCode())).isFalse();
|
assertThat(PaymentStatus.PAID.getCode()).isEqualTo("PAID");
|
assertThat(RefundStatus.REFUNDING.getCode()).isEqualTo("REFUNDING");
|
}
|
}
|