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;
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.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.Subscription;
import org.junit.jupiter.api.BeforeEach;
@@ -150,15 +150,16 @@ public class SubscriptionRepositoryTest {
void testFindAll() {
List<Subscription> subscriptions = repository.findAll();
assertEquals(2, subscriptions.size());
assertEquals(3, subscriptions.size());
assertTrue(subscriptions.contains(subscription1));
assertTrue(subscriptions.contains(subscription2));
assertTrue(subscriptions.contains(subscription3));
}
@Test
@DisplayName("FindBySubscriptionId should return subscription with matching ID")
void testFindBySubscriptionId() {
Optional<Subscription> foundSubscription = repository.FindBySubscriptionId(subscription1.getSubscriptionId());
Optional<Subscription> foundSubscription = repository.findBySubscriptionId(subscription1.getSubscriptionId());
assertTrue(foundSubscription.isPresent());
assertEquals(subscription1.getStartDate(), foundSubscription.get().getStartDate());
@@ -170,7 +171,7 @@ public class SubscriptionRepositoryTest {
void testFindBySubscriptionIdNotFound() {
UUID nonExistentSubscriptionId = UUID.randomUUID();
Optional<Subscription> foundSubscription = repository.FindBySubscriptionId(nonExistentSubscriptionId);
Optional<Subscription> foundSubscription = repository.findBySubscriptionId(nonExistentSubscriptionId);
assertTrue(foundSubscription.isEmpty());
}
@@ -258,7 +259,7 @@ public class SubscriptionRepositoryTest {
@Test
@DisplayName("DeleteAll should remove all subscriptions of a customer")
void testDeleteAll() {
void testDeleteAllSubscriptionOfACustomer() {
repository.deleteByCustomerId(subscription2.getCustomerId());
List<Subscription> subscriptions = repository.findAll();