mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-21 21:25:38 +00:00
bug5841: extended tests, checking that data mining implies premium by category
This commit is contained in:
+35
-9
@@ -5,6 +5,7 @@ import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.common.subscription.SailingSubscriptionPlan;
|
||||
@@ -18,19 +19,28 @@ import com.sap.sse.security.ui.server.subscription.chargebee.ChargebeeSubscripti
|
||||
import com.sap.sse.security.ui.shared.subscription.SubscriptionPlanDTO;
|
||||
|
||||
public class TestPlanSubscriptionRules {
|
||||
@Test
|
||||
public void testThatDataMiningImpliesPemiumByCategory() {
|
||||
final SubscriptionPlan dataMiningArchiveYearly = SailingSubscriptionPlan.DATA_MINING_ARCHIVE_YEARLY;
|
||||
final SubscriptionPlan premiumYearly = SailingSubscriptionPlan.PREMIUM_YEARLY;
|
||||
final User user = mock(User.class);
|
||||
final Subscription premiumSubscription = new ChargebeeSubscription("subscriptionId", premiumYearly.getId(), "customerId",
|
||||
private final SubscriptionPlan dataMiningArchiveYearly = SailingSubscriptionPlan.DATA_MINING_ARCHIVE_YEARLY;
|
||||
private final SubscriptionPlan premiumYearly = SailingSubscriptionPlan.PREMIUM_YEARLY;
|
||||
private User user;
|
||||
private Subscription premiumYearlySubscription;
|
||||
private Subscription dataMiningArchiveYearlySubscription;
|
||||
private SecurityService securityService;
|
||||
private ChargebeeSubscriptionWriteServiceImpl service;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
user = mock(User.class);
|
||||
premiumYearlySubscription = new ChargebeeSubscription("subscriptionId1", premiumYearly.getId(), "customerId",
|
||||
TimePoint.now(), TimePoint.now(), /* subscriptionStatus */ "active", /* paymentStatus */ "paid", "transactionType", "transactionStatus", "invoiceId",
|
||||
"invoiceStatus", /* reoccuringPaymentValue */ 49, /* currencyCode */ "USD", TimePoint.now(), TimePoint.now(),
|
||||
TimePoint.now(), TimePoint.now(), TimePoint.now(), /* cancelledAt */ null, TimePoint.now(), /* manualUpdatedAt */ null);
|
||||
when(user.getSubscriptionByPlan(premiumYearly.getId())).thenReturn(premiumSubscription);
|
||||
final SecurityService securityService = mock(SecurityService.class);
|
||||
dataMiningArchiveYearlySubscription = new ChargebeeSubscription("subscriptionId2", dataMiningArchiveYearly.getId(), "customerId",
|
||||
TimePoint.now(), TimePoint.now(), /* subscriptionStatus */ "active", /* paymentStatus */ "paid", "transactionType", "transactionStatus", "invoiceId",
|
||||
"invoiceStatus", /* reoccuringPaymentValue */ 49, /* currencyCode */ "USD", TimePoint.now(), TimePoint.now(),
|
||||
TimePoint.now(), TimePoint.now(), TimePoint.now(), /* cancelledAt */ null, TimePoint.now(), /* manualUpdatedAt */ null);
|
||||
securityService = mock(SecurityService.class);
|
||||
when(securityService.getAllSubscriptionPlans()).thenReturn(SailingSubscriptionPlan.getAllInstances());
|
||||
final ChargebeeSubscriptionWriteServiceImpl service = new ChargebeeSubscriptionWriteServiceImpl() {
|
||||
service = new ChargebeeSubscriptionWriteServiceImpl() {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
@@ -43,6 +53,11 @@ public class TestPlanSubscriptionRules {
|
||||
return securityService;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testThatPemiumDoesNotImplyDataMiningByCategory() {
|
||||
when(user.getSubscriptionByPlan(premiumYearly.getId())).thenReturn(premiumYearlySubscription);
|
||||
final SubscriptionPlanDTO premiumYearlyDTO = service.convertToDto(premiumYearly);
|
||||
final SubscriptionPlanDTO dataMiningArchiveYearlyDTO = service.convertToDto(dataMiningArchiveYearly);
|
||||
assertTrue(premiumYearlyDTO.isUserSubscribedToPlan());
|
||||
@@ -50,4 +65,15 @@ public class TestPlanSubscriptionRules {
|
||||
assertFalse(dataMiningArchiveYearlyDTO.isUserSubscribedToPlan());
|
||||
assertFalse(dataMiningArchiveYearlyDTO.isUserSubscribedToAllPlanCategories());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testThatDataMiningImpliesPemiumByCategory() {
|
||||
when(user.getSubscriptionByPlan(dataMiningArchiveYearly.getId())).thenReturn(dataMiningArchiveYearlySubscription);
|
||||
final SubscriptionPlanDTO premiumYearlyDTO = service.convertToDto(premiumYearly);
|
||||
final SubscriptionPlanDTO dataMiningArchiveYearlyDTO = service.convertToDto(dataMiningArchiveYearly);
|
||||
assertFalse(premiumYearlyDTO.isUserSubscribedToPlan());
|
||||
assertTrue(premiumYearlyDTO.isUserSubscribedToAllPlanCategories());
|
||||
assertTrue(dataMiningArchiveYearlyDTO.isUserSubscribedToPlan());
|
||||
assertTrue(dataMiningArchiveYearlyDTO.isUserSubscribedToAllPlanCategories());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user