réussite des tests

This commit is contained in:
2026-06-14 14:38:27 +02:00
parent 655fad8fb2
commit 3deb17a4c7
2 changed files with 68 additions and 5 deletions
@@ -0,0 +1,62 @@
package fr.iut_fbleau.but3.dev62.mylibrary.subscription;
import fr.iut_fbleau.but3.dev62.mylibrary.subscription.entity.Subscription;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
public class SubscriptionRepository {
private final List<Subscription> subscriptions = new ArrayList<>();
public List<Subscription> findAll() {
return subscriptions;
}
public void deleteAll() {
subscriptions.clear();
}
public Subscription save(Subscription newSubscription) {
Optional<Subscription> optionalSubscriptionWithSameSubscriptionId = this.findBySubscriptionId(newSubscription.getSubscriptionId());
optionalSubscriptionWithSameSubscriptionId.ifPresent(subscriptions::remove);
this.subscriptions.add(newSubscription);
return newSubscription;
}
public List<Subscription> FindByCustomerId(UUID customerUUID) {
return this.subscriptions.stream()
.filter(subscription -> subscription.getCustomerId().equals(customerUUID))
.toList();
}
public Optional<Subscription> findBySubscriptionId(UUID subscriptionUUID) {
return this.subscriptions.stream()
.filter(subscription -> subscription.getSubscriptionId().equals(subscriptionUUID))
.findFirst();
}
public boolean existsByCustomerId(UUID customerUUID) {
return this.subscriptions.stream()
.anyMatch(review -> review.getCustomerId().equals(customerUUID));
}
public boolean existsBySubscriptionId(UUID subscriptionUUID) {
return this.subscriptions.stream()
.anyMatch(subscription -> subscription.getSubscriptionId().equals(subscriptionUUID));
}
public void deleteByCustomerId(UUID customerUUID) {
this.subscriptions.removeIf(subscription -> subscription.getCustomerId().equals(customerUUID));
}
public void delete(Subscription subscription) {
this.subscriptions.remove(subscription);
}
}
@@ -1,8 +1,8 @@
package fr.iut_fbleau.but3.dev62.mylibrary.subscription.repository; package fr.iut_fbleau.but3.dev62.mylibrary.subscription.repository;
import fr.iut_fbleau.but3.dev62.mylibrary.customer.entity.Customer;
import fr.iut_fbleau.but3.dev62.mylibrary.subscription.DesiredSubscriptionDuration; import fr.iut_fbleau.but3.dev62.mylibrary.subscription.DesiredSubscriptionDuration;
import fr.iut_fbleau.but3.dev62.mylibrary.subscription.PaymentType; import fr.iut_fbleau.but3.dev62.mylibrary.subscription.PaymentType;
import fr.iut_fbleau.but3.dev62.mylibrary.subscription.SubscriptionRepository;
import fr.iut_fbleau.but3.dev62.mylibrary.subscription.entity.PaymentMethod; import fr.iut_fbleau.but3.dev62.mylibrary.subscription.entity.PaymentMethod;
import fr.iut_fbleau.but3.dev62.mylibrary.subscription.entity.Subscription; import fr.iut_fbleau.but3.dev62.mylibrary.subscription.entity.Subscription;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
@@ -150,15 +150,16 @@ public class SubscriptionRepositoryTest {
void testFindAll() { void testFindAll() {
List<Subscription> subscriptions = repository.findAll(); List<Subscription> subscriptions = repository.findAll();
assertEquals(2, subscriptions.size()); assertEquals(3, subscriptions.size());
assertTrue(subscriptions.contains(subscription1)); assertTrue(subscriptions.contains(subscription1));
assertTrue(subscriptions.contains(subscription2)); assertTrue(subscriptions.contains(subscription2));
assertTrue(subscriptions.contains(subscription3));
} }
@Test @Test
@DisplayName("FindBySubscriptionId should return subscription with matching ID") @DisplayName("FindBySubscriptionId should return subscription with matching ID")
void testFindBySubscriptionId() { void testFindBySubscriptionId() {
Optional<Subscription> foundSubscription = repository.FindBySubscriptionId(subscription1.getSubscriptionId()); Optional<Subscription> foundSubscription = repository.findBySubscriptionId(subscription1.getSubscriptionId());
assertTrue(foundSubscription.isPresent()); assertTrue(foundSubscription.isPresent());
assertEquals(subscription1.getStartDate(), foundSubscription.get().getStartDate()); assertEquals(subscription1.getStartDate(), foundSubscription.get().getStartDate());
@@ -170,7 +171,7 @@ public class SubscriptionRepositoryTest {
void testFindBySubscriptionIdNotFound() { void testFindBySubscriptionIdNotFound() {
UUID nonExistentSubscriptionId = UUID.randomUUID(); UUID nonExistentSubscriptionId = UUID.randomUUID();
Optional<Subscription> foundSubscription = repository.FindBySubscriptionId(nonExistentSubscriptionId); Optional<Subscription> foundSubscription = repository.findBySubscriptionId(nonExistentSubscriptionId);
assertTrue(foundSubscription.isEmpty()); assertTrue(foundSubscription.isEmpty());
} }
@@ -258,7 +259,7 @@ public class SubscriptionRepositoryTest {
@Test @Test
@DisplayName("DeleteAll should remove all subscriptions of a customer") @DisplayName("DeleteAll should remove all subscriptions of a customer")
void testDeleteAll() { void testDeleteAllSubscriptionOfACustomer() {
repository.deleteByCustomerId(subscription2.getCustomerId()); repository.deleteByCustomerId(subscription2.getCustomerId());
List<Subscription> subscriptions = repository.findAll(); List<Subscription> subscriptions = repository.findAll();