diff --git a/.jhipster/TransactionItem.json b/.jhipster/TransactionItem.json index 3627e1d..c2c89b0 100644 --- a/.jhipster/TransactionItem.json +++ b/.jhipster/TransactionItem.json @@ -1,19 +1,16 @@ { "annotations": { - "changelogDate": "20241113135446" + "changelogDate": "20241113151058" }, "fields": [ { "fieldName": "amount", "fieldType": "BigDecimal" }, - { - "fieldName": "date", - "fieldType": "LocalDate" - }, { "fieldName": "comment", - "fieldType": "String" + "fieldType": "String", + "fieldValidateRules": [] } ], "name": "TransactionItem", @@ -21,12 +18,12 @@ "readOnly": false, "relationships": [ { - "otherEntityField": "name", + "otherEntityField": "id", "otherEntityName": "userAccount", "otherEntityRelationshipName": "transactionItem", "relationshipName": "userAccount", "relationshipSide": "left", - "relationshipType": "many-to-many" + "relationshipType": "many-to-one" }, { "otherEntityField": "id", @@ -34,7 +31,14 @@ "otherEntityRelationshipName": "transactionItem", "relationshipName": "transaction", "relationshipSide": "left", - "relationshipType": "one-to-many" + "relationshipType": "many-to-one" + }, + { + "otherEntityField": "name", + "otherEntityName": "event", + "relationshipName": "event", + "relationshipSide": "left", + "relationshipType": "many-to-one" } ], "searchEngine": "no", diff --git a/.yo-rc.json b/.yo-rc.json index 26d7f45..8f2035a 100644 --- a/.yo-rc.json +++ b/.yo-rc.json @@ -18,7 +18,7 @@ "entities": ["Charge", "Event", "Registration", "Transaction", "UserAccount", "TransactionItem"], "feignClient": null, "jhipsterVersion": "8.7.2", - "lastLiquibaseTimestamp": 1731506086000, + "lastLiquibaseTimestamp": 1731510658000, "messageBroker": false, "microfrontend": null, "microfrontends": [], diff --git a/src/main/java/com/sasiedzi/event/domain/Event.java b/src/main/java/com/sasiedzi/event/domain/Event.java index 2a170af..1fc4b0b 100644 --- a/src/main/java/com/sasiedzi/event/domain/Event.java +++ b/src/main/java/com/sasiedzi/event/domain/Event.java @@ -48,7 +48,7 @@ public class Event implements Serializable { private Set registrations = new HashSet<>(); @OneToMany(fetch = FetchType.LAZY, mappedBy = "event") - @JsonIgnoreProperties(value = { "event", "transactionItem" }, allowSetters = true) + @JsonIgnoreProperties(value = { "event", "transactionItems" }, allowSetters = true) private Set transactions = new HashSet<>(); // jhipster-needle-entity-add-field - JHipster will add fields here diff --git a/src/main/java/com/sasiedzi/event/domain/Transaction.java b/src/main/java/com/sasiedzi/event/domain/Transaction.java index fb3de48..e458cdd 100644 --- a/src/main/java/com/sasiedzi/event/domain/Transaction.java +++ b/src/main/java/com/sasiedzi/event/domain/Transaction.java @@ -5,6 +5,8 @@ import com.sasiedzi.event.domain.enumeration.TransactionType; import jakarta.persistence.*; import java.io.Serializable; import java.time.LocalDate; +import java.util.HashSet; +import java.util.Set; /** * A Transaction. @@ -36,9 +38,9 @@ public class Transaction implements Serializable { @JsonIgnoreProperties(value = { "registrations", "transactions" }, allowSetters = true) private Event event; - @ManyToOne(fetch = FetchType.LAZY) - @JsonIgnoreProperties(value = { "userAccounts", "transactions" }, allowSetters = true) - private TransactionItem transactionItem; + @OneToMany(fetch = FetchType.LAZY, mappedBy = "transaction") + @JsonIgnoreProperties(value = { "userAccount", "transaction", "event" }, allowSetters = true) + private Set transactionItems = new HashSet<>(); // jhipster-needle-entity-add-field - JHipster will add fields here @@ -107,16 +109,34 @@ public class Transaction implements Serializable { return this; } - public TransactionItem getTransactionItem() { - return this.transactionItem; + public Set getTransactionItems() { + return this.transactionItems; } - public void setTransactionItem(TransactionItem transactionItem) { - this.transactionItem = transactionItem; + public void setTransactionItems(Set transactionItems) { + if (this.transactionItems != null) { + this.transactionItems.forEach(i -> i.setTransaction(null)); + } + if (transactionItems != null) { + transactionItems.forEach(i -> i.setTransaction(this)); + } + this.transactionItems = transactionItems; } - public Transaction transactionItem(TransactionItem transactionItem) { - this.setTransactionItem(transactionItem); + public Transaction transactionItems(Set transactionItems) { + this.setTransactionItems(transactionItems); + return this; + } + + public Transaction addTransactionItem(TransactionItem transactionItem) { + this.transactionItems.add(transactionItem); + transactionItem.setTransaction(this); + return this; + } + + public Transaction removeTransactionItem(TransactionItem transactionItem) { + this.transactionItems.remove(transactionItem); + transactionItem.setTransaction(null); return this; } diff --git a/src/main/java/com/sasiedzi/event/domain/TransactionItem.java b/src/main/java/com/sasiedzi/event/domain/TransactionItem.java index f1448e4..d359658 100644 --- a/src/main/java/com/sasiedzi/event/domain/TransactionItem.java +++ b/src/main/java/com/sasiedzi/event/domain/TransactionItem.java @@ -4,9 +4,6 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import jakarta.persistence.*; import java.io.Serializable; import java.math.BigDecimal; -import java.time.LocalDate; -import java.util.HashSet; -import java.util.Set; /** * A TransactionItem. @@ -27,24 +24,20 @@ public class TransactionItem implements Serializable { @Column(name = "amount", precision = 21, scale = 2) private BigDecimal amount; - @Column(name = "date") - private LocalDate date; - @Column(name = "comment") private String comment; - @ManyToMany(fetch = FetchType.LAZY) - @JoinTable( - name = "rel_transaction_item__user_account", - joinColumns = @JoinColumn(name = "transaction_item_id"), - inverseJoinColumns = @JoinColumn(name = "user_account_id") - ) + @ManyToOne(fetch = FetchType.LAZY) @JsonIgnoreProperties(value = { "users", "transactionItems" }, allowSetters = true) - private Set userAccounts = new HashSet<>(); + private UserAccount userAccount; - @OneToMany(fetch = FetchType.LAZY, mappedBy = "transactionItem") - @JsonIgnoreProperties(value = { "event", "transactionItem" }, allowSetters = true) - private Set transactions = new HashSet<>(); + @ManyToOne(fetch = FetchType.LAZY) + @JsonIgnoreProperties(value = { "event", "transactionItems" }, allowSetters = true) + private Transaction transaction; + + @ManyToOne(fetch = FetchType.LAZY) + @JsonIgnoreProperties(value = { "registrations", "transactions" }, allowSetters = true) + private Event event; // jhipster-needle-entity-add-field - JHipster will add fields here @@ -74,19 +67,6 @@ public class TransactionItem implements Serializable { this.amount = amount; } - public LocalDate getDate() { - return this.date; - } - - public TransactionItem date(LocalDate date) { - this.setDate(date); - return this; - } - - public void setDate(LocalDate date) { - this.date = date; - } - public String getComment() { return this.comment; } @@ -100,57 +80,42 @@ public class TransactionItem implements Serializable { this.comment = comment; } - public Set getUserAccounts() { - return this.userAccounts; + public UserAccount getUserAccount() { + return this.userAccount; } - public void setUserAccounts(Set userAccounts) { - this.userAccounts = userAccounts; + public void setUserAccount(UserAccount userAccount) { + this.userAccount = userAccount; } - public TransactionItem userAccounts(Set userAccounts) { - this.setUserAccounts(userAccounts); + public TransactionItem userAccount(UserAccount userAccount) { + this.setUserAccount(userAccount); return this; } - public TransactionItem addUserAccount(UserAccount userAccount) { - this.userAccounts.add(userAccount); + public Transaction getTransaction() { + return this.transaction; + } + + public void setTransaction(Transaction transaction) { + this.transaction = transaction; + } + + public TransactionItem transaction(Transaction transaction) { + this.setTransaction(transaction); return this; } - public TransactionItem removeUserAccount(UserAccount userAccount) { - this.userAccounts.remove(userAccount); - return this; + public Event getEvent() { + return this.event; } - public Set getTransactions() { - return this.transactions; + public void setEvent(Event event) { + this.event = event; } - public void setTransactions(Set transactions) { - if (this.transactions != null) { - this.transactions.forEach(i -> i.setTransactionItem(null)); - } - if (transactions != null) { - transactions.forEach(i -> i.setTransactionItem(this)); - } - this.transactions = transactions; - } - - public TransactionItem transactions(Set transactions) { - this.setTransactions(transactions); - return this; - } - - public TransactionItem addTransaction(Transaction transaction) { - this.transactions.add(transaction); - transaction.setTransactionItem(this); - return this; - } - - public TransactionItem removeTransaction(Transaction transaction) { - this.transactions.remove(transaction); - transaction.setTransactionItem(null); + public TransactionItem event(Event event) { + this.setEvent(event); return this; } @@ -179,7 +144,6 @@ public class TransactionItem implements Serializable { return "TransactionItem{" + "id=" + getId() + ", amount=" + getAmount() + - ", date='" + getDate() + "'" + ", comment='" + getComment() + "'" + "}"; } diff --git a/src/main/java/com/sasiedzi/event/domain/UserAccount.java b/src/main/java/com/sasiedzi/event/domain/UserAccount.java index 384d2f9..23181fb 100644 --- a/src/main/java/com/sasiedzi/event/domain/UserAccount.java +++ b/src/main/java/com/sasiedzi/event/domain/UserAccount.java @@ -33,8 +33,8 @@ public class UserAccount implements Serializable { ) private Set users = new HashSet<>(); - @ManyToMany(fetch = FetchType.LAZY, mappedBy = "userAccounts") - @JsonIgnoreProperties(value = { "userAccounts", "transactions" }, allowSetters = true) + @OneToMany(fetch = FetchType.LAZY, mappedBy = "userAccount") + @JsonIgnoreProperties(value = { "userAccount", "transaction", "event" }, allowSetters = true) private Set transactionItems = new HashSet<>(); // jhipster-needle-entity-add-field - JHipster will add fields here @@ -94,10 +94,10 @@ public class UserAccount implements Serializable { public void setTransactionItems(Set transactionItems) { if (this.transactionItems != null) { - this.transactionItems.forEach(i -> i.removeUserAccount(this)); + this.transactionItems.forEach(i -> i.setUserAccount(null)); } if (transactionItems != null) { - transactionItems.forEach(i -> i.addUserAccount(this)); + transactionItems.forEach(i -> i.setUserAccount(this)); } this.transactionItems = transactionItems; } @@ -109,13 +109,13 @@ public class UserAccount implements Serializable { public UserAccount addTransactionItem(TransactionItem transactionItem) { this.transactionItems.add(transactionItem); - transactionItem.getUserAccounts().add(this); + transactionItem.setUserAccount(this); return this; } public UserAccount removeTransactionItem(TransactionItem transactionItem) { this.transactionItems.remove(transactionItem); - transactionItem.getUserAccounts().remove(this); + transactionItem.setUserAccount(null); return this; } diff --git a/src/main/java/com/sasiedzi/event/repository/TransactionItemRepository.java b/src/main/java/com/sasiedzi/event/repository/TransactionItemRepository.java index 9a3ab7c..c51bde1 100644 --- a/src/main/java/com/sasiedzi/event/repository/TransactionItemRepository.java +++ b/src/main/java/com/sasiedzi/event/repository/TransactionItemRepository.java @@ -6,25 +6,37 @@ import java.util.Optional; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.*; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; /** * Spring Data JPA repository for the TransactionItem entity. - * - * When extending this class, extend TransactionItemRepositoryWithBagRelationships too. - * For more information refer to https://github.com/jhipster/generator-jhipster/issues/17990. */ @Repository -public interface TransactionItemRepository extends TransactionItemRepositoryWithBagRelationships, JpaRepository { +public interface TransactionItemRepository extends JpaRepository { default Optional findOneWithEagerRelationships(Long id) { - return this.fetchBagRelationships(this.findById(id)); + return this.findOneWithToOneRelationships(id); } default List findAllWithEagerRelationships() { - return this.fetchBagRelationships(this.findAll()); + return this.findAllWithToOneRelationships(); } default Page findAllWithEagerRelationships(Pageable pageable) { - return this.fetchBagRelationships(this.findAll(pageable)); + return this.findAllWithToOneRelationships(pageable); } + + @Query( + value = "select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event", + countQuery = "select count(transactionItem) from TransactionItem transactionItem" + ) + Page findAllWithToOneRelationships(Pageable pageable); + + @Query("select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event") + List findAllWithToOneRelationships(); + + @Query( + "select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event where transactionItem.id =:id" + ) + Optional findOneWithToOneRelationships(@Param("id") Long id); } diff --git a/src/main/java/com/sasiedzi/event/repository/TransactionItemRepositoryWithBagRelationships.java b/src/main/java/com/sasiedzi/event/repository/TransactionItemRepositoryWithBagRelationships.java deleted file mode 100644 index 4fbf0d7..0000000 --- a/src/main/java/com/sasiedzi/event/repository/TransactionItemRepositoryWithBagRelationships.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.sasiedzi.event.repository; - -import com.sasiedzi.event.domain.TransactionItem; -import java.util.List; -import java.util.Optional; -import org.springframework.data.domain.Page; - -public interface TransactionItemRepositoryWithBagRelationships { - Optional fetchBagRelationships(Optional transactionItem); - - List fetchBagRelationships(List transactionItems); - - Page fetchBagRelationships(Page transactionItems); -} diff --git a/src/main/java/com/sasiedzi/event/repository/TransactionItemRepositoryWithBagRelationshipsImpl.java b/src/main/java/com/sasiedzi/event/repository/TransactionItemRepositoryWithBagRelationshipsImpl.java deleted file mode 100644 index feeebed..0000000 --- a/src/main/java/com/sasiedzi/event/repository/TransactionItemRepositoryWithBagRelationshipsImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.sasiedzi.event.repository; - -import com.sasiedzi.event.domain.TransactionItem; -import jakarta.persistence.EntityManager; -import jakarta.persistence.PersistenceContext; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Optional; -import java.util.stream.IntStream; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageImpl; - -/** - * Utility repository to load bag relationships based on https://vladmihalcea.com/hibernate-multiplebagfetchexception/ - */ -public class TransactionItemRepositoryWithBagRelationshipsImpl implements TransactionItemRepositoryWithBagRelationships { - - private static final String ID_PARAMETER = "id"; - private static final String TRANSACTIONITEMS_PARAMETER = "transactionItems"; - - @PersistenceContext - private EntityManager entityManager; - - @Override - public Optional fetchBagRelationships(Optional transactionItem) { - return transactionItem.map(this::fetchUserAccounts); - } - - @Override - public Page fetchBagRelationships(Page transactionItems) { - return new PageImpl<>( - fetchBagRelationships(transactionItems.getContent()), - transactionItems.getPageable(), - transactionItems.getTotalElements() - ); - } - - @Override - public List fetchBagRelationships(List transactionItems) { - return Optional.of(transactionItems).map(this::fetchUserAccounts).orElse(Collections.emptyList()); - } - - TransactionItem fetchUserAccounts(TransactionItem result) { - return entityManager - .createQuery( - "select transactionItem from TransactionItem transactionItem left join fetch transactionItem.userAccounts where transactionItem.id = :id", - TransactionItem.class - ) - .setParameter(ID_PARAMETER, result.getId()) - .getSingleResult(); - } - - List fetchUserAccounts(List transactionItems) { - HashMap order = new HashMap<>(); - IntStream.range(0, transactionItems.size()).forEach(index -> order.put(transactionItems.get(index).getId(), index)); - List result = entityManager - .createQuery( - "select transactionItem from TransactionItem transactionItem left join fetch transactionItem.userAccounts where transactionItem in :transactionItems", - TransactionItem.class - ) - .setParameter(TRANSACTIONITEMS_PARAMETER, transactionItems) - .getResultList(); - Collections.sort(result, (o1, o2) -> Integer.compare(order.get(o1.getId()), order.get(o2.getId()))); - return result; - } -} diff --git a/src/main/java/com/sasiedzi/event/web/rest/TransactionItemResource.java b/src/main/java/com/sasiedzi/event/web/rest/TransactionItemResource.java index adcedb9..471afea 100644 --- a/src/main/java/com/sasiedzi/event/web/rest/TransactionItemResource.java +++ b/src/main/java/com/sasiedzi/event/web/rest/TransactionItemResource.java @@ -124,9 +124,6 @@ public class TransactionItemResource { if (transactionItem.getAmount() != null) { existingTransactionItem.setAmount(transactionItem.getAmount()); } - if (transactionItem.getDate() != null) { - existingTransactionItem.setDate(transactionItem.getDate()); - } if (transactionItem.getComment() != null) { existingTransactionItem.setComment(transactionItem.getComment()); } diff --git a/src/main/resources/config/liquibase/changelog/20241113134007_added_entity_Transaction.xml b/src/main/resources/config/liquibase/changelog/20241113134007_added_entity_Transaction.xml index c48f42c..a176e96 100644 --- a/src/main/resources/config/liquibase/changelog/20241113134007_added_entity_Transaction.xml +++ b/src/main/resources/config/liquibase/changelog/20241113134007_added_entity_Transaction.xml @@ -26,9 +26,6 @@ - - - diff --git a/src/main/resources/config/liquibase/changelog/20241113134007_added_entity_constraints_Transaction.xml b/src/main/resources/config/liquibase/changelog/20241113134007_added_entity_constraints_Transaction.xml index 9d1a100..edaca56 100644 --- a/src/main/resources/config/liquibase/changelog/20241113134007_added_entity_constraints_Transaction.xml +++ b/src/main/resources/config/liquibase/changelog/20241113134007_added_entity_constraints_Transaction.xml @@ -16,12 +16,5 @@ referencedColumnNames="id" referencedTableName="event" /> - - diff --git a/src/main/resources/config/liquibase/changelog/20241113135446_added_entity_TransactionItem.xml b/src/main/resources/config/liquibase/changelog/20241113151058_added_entity_TransactionItem.xml similarity index 78% rename from src/main/resources/config/liquibase/changelog/20241113135446_added_entity_TransactionItem.xml rename to src/main/resources/config/liquibase/changelog/20241113151058_added_entity_TransactionItem.xml index 53fdc61..07efe0f 100644 --- a/src/main/resources/config/liquibase/changelog/20241113135446_added_entity_TransactionItem.xml +++ b/src/main/resources/config/liquibase/changelog/20241113151058_added_entity_TransactionItem.xml @@ -9,7 +9,7 @@ - + @@ -17,30 +17,22 @@ - + - + + + + + + + - - - - - - - - - - - - - - - + - diff --git a/src/main/resources/config/liquibase/changelog/20241113135446_added_entity_constraints_TransactionItem.xml b/src/main/resources/config/liquibase/changelog/20241113151058_added_entity_constraints_TransactionItem.xml similarity index 56% rename from src/main/resources/config/liquibase/changelog/20241113135446_added_entity_constraints_TransactionItem.xml rename to src/main/resources/config/liquibase/changelog/20241113151058_added_entity_constraints_TransactionItem.xml index b61aff3..011b322 100644 --- a/src/main/resources/config/liquibase/changelog/20241113135446_added_entity_constraints_TransactionItem.xml +++ b/src/main/resources/config/liquibase/changelog/20241113151058_added_entity_constraints_TransactionItem.xml @@ -8,20 +8,27 @@ - - - + + + + + diff --git a/src/main/resources/config/liquibase/fake-data/transaction_item.csv b/src/main/resources/config/liquibase/fake-data/transaction_item.csv index 3a39abf..51a03d9 100644 --- a/src/main/resources/config/liquibase/fake-data/transaction_item.csv +++ b/src/main/resources/config/liquibase/fake-data/transaction_item.csv @@ -1,11 +1,11 @@ -id;amount;date;comment -1;11521.38;2024-11-13;until knowingly antagonize -2;25335.92;2024-11-13;paintwork -3;18782.46;2024-11-13;whoever -4;31380.57;2024-11-13;saturate snow vestment -5;16957.5;2024-11-13;desecrate -6;21000.66;2024-11-13;card -7;21849.26;2024-11-13;as hourly ha -8;11729.78;2024-11-13;on fledgling -9;17672.41;2024-11-13;sarcastic or -10;22248.04;2024-11-12;where gadzooks out +id;amount;comment +1;11521.38;per cautiously out +2;974.75;since below bah +3;25825.62;outlaw +4;862.08;seriously +5;618.2;faithfully past versus +6;3528.31;because cap ah +7;14487.7;beneath festival grandiose +8;24535.73;roughly wonderfully +9;22363.52;extra-large +10;5071.75;tectonics fortunate diff --git a/src/main/resources/config/liquibase/master.xml b/src/main/resources/config/liquibase/master.xml index 3f0bb26..0ec10fa 100644 --- a/src/main/resources/config/liquibase/master.xml +++ b/src/main/resources/config/liquibase/master.xml @@ -16,13 +16,13 @@ - + - + diff --git a/src/test/java/com/sasiedzi/event/domain/TransactionAsserts.java b/src/test/java/com/sasiedzi/event/domain/TransactionAsserts.java index 6909593..29d6c5c 100644 --- a/src/test/java/com/sasiedzi/event/domain/TransactionAsserts.java +++ b/src/test/java/com/sasiedzi/event/domain/TransactionAsserts.java @@ -61,7 +61,6 @@ public class TransactionAsserts { public static void assertTransactionUpdatableRelationshipsEquals(Transaction expected, Transaction actual) { assertThat(expected) .as("Verify Transaction relationships") - .satisfies(e -> assertThat(e.getEvent()).as("check event").isEqualTo(actual.getEvent())) - .satisfies(e -> assertThat(e.getTransactionItem()).as("check transactionItem").isEqualTo(actual.getTransactionItem())); + .satisfies(e -> assertThat(e.getEvent()).as("check event").isEqualTo(actual.getEvent())); } } diff --git a/src/test/java/com/sasiedzi/event/domain/TransactionItemAsserts.java b/src/test/java/com/sasiedzi/event/domain/TransactionItemAsserts.java index 85575de..b241235 100644 --- a/src/test/java/com/sasiedzi/event/domain/TransactionItemAsserts.java +++ b/src/test/java/com/sasiedzi/event/domain/TransactionItemAsserts.java @@ -49,7 +49,6 @@ public class TransactionItemAsserts { assertThat(expected) .as("Verify TransactionItem relevant properties") .satisfies(e -> assertThat(e.getAmount()).as("check amount").usingComparator(bigDecimalCompareTo).isEqualTo(actual.getAmount())) - .satisfies(e -> assertThat(e.getDate()).as("check date").isEqualTo(actual.getDate())) .satisfies(e -> assertThat(e.getComment()).as("check comment").isEqualTo(actual.getComment())); } @@ -62,6 +61,8 @@ public class TransactionItemAsserts { public static void assertTransactionItemUpdatableRelationshipsEquals(TransactionItem expected, TransactionItem actual) { assertThat(expected) .as("Verify TransactionItem relationships") - .satisfies(e -> assertThat(e.getUserAccounts()).as("check userAccounts").isEqualTo(actual.getUserAccounts())); + .satisfies(e -> assertThat(e.getUserAccount()).as("check userAccount").isEqualTo(actual.getUserAccount())) + .satisfies(e -> assertThat(e.getTransaction()).as("check transaction").isEqualTo(actual.getTransaction())) + .satisfies(e -> assertThat(e.getEvent()).as("check event").isEqualTo(actual.getEvent())); } } diff --git a/src/test/java/com/sasiedzi/event/domain/TransactionItemTest.java b/src/test/java/com/sasiedzi/event/domain/TransactionItemTest.java index f3892bb..ede5dd7 100644 --- a/src/test/java/com/sasiedzi/event/domain/TransactionItemTest.java +++ b/src/test/java/com/sasiedzi/event/domain/TransactionItemTest.java @@ -1,13 +1,12 @@ package com.sasiedzi.event.domain; +import static com.sasiedzi.event.domain.EventTestSamples.*; import static com.sasiedzi.event.domain.TransactionItemTestSamples.*; import static com.sasiedzi.event.domain.TransactionTestSamples.*; import static com.sasiedzi.event.domain.UserAccountTestSamples.*; import static org.assertj.core.api.Assertions.assertThat; import com.sasiedzi.event.web.rest.TestUtil; -import java.util.HashSet; -import java.util.Set; import org.junit.jupiter.api.Test; class TransactionItemTest { @@ -31,17 +30,11 @@ class TransactionItemTest { TransactionItem transactionItem = getTransactionItemRandomSampleGenerator(); UserAccount userAccountBack = getUserAccountRandomSampleGenerator(); - transactionItem.addUserAccount(userAccountBack); - assertThat(transactionItem.getUserAccounts()).containsOnly(userAccountBack); + transactionItem.setUserAccount(userAccountBack); + assertThat(transactionItem.getUserAccount()).isEqualTo(userAccountBack); - transactionItem.removeUserAccount(userAccountBack); - assertThat(transactionItem.getUserAccounts()).doesNotContain(userAccountBack); - - transactionItem.userAccounts(new HashSet<>(Set.of(userAccountBack))); - assertThat(transactionItem.getUserAccounts()).containsOnly(userAccountBack); - - transactionItem.setUserAccounts(new HashSet<>()); - assertThat(transactionItem.getUserAccounts()).doesNotContain(userAccountBack); + transactionItem.userAccount(null); + assertThat(transactionItem.getUserAccount()).isNull(); } @Test @@ -49,20 +42,22 @@ class TransactionItemTest { TransactionItem transactionItem = getTransactionItemRandomSampleGenerator(); Transaction transactionBack = getTransactionRandomSampleGenerator(); - transactionItem.addTransaction(transactionBack); - assertThat(transactionItem.getTransactions()).containsOnly(transactionBack); - assertThat(transactionBack.getTransactionItem()).isEqualTo(transactionItem); + transactionItem.setTransaction(transactionBack); + assertThat(transactionItem.getTransaction()).isEqualTo(transactionBack); - transactionItem.removeTransaction(transactionBack); - assertThat(transactionItem.getTransactions()).doesNotContain(transactionBack); - assertThat(transactionBack.getTransactionItem()).isNull(); + transactionItem.transaction(null); + assertThat(transactionItem.getTransaction()).isNull(); + } - transactionItem.transactions(new HashSet<>(Set.of(transactionBack))); - assertThat(transactionItem.getTransactions()).containsOnly(transactionBack); - assertThat(transactionBack.getTransactionItem()).isEqualTo(transactionItem); + @Test + void eventTest() { + TransactionItem transactionItem = getTransactionItemRandomSampleGenerator(); + Event eventBack = getEventRandomSampleGenerator(); - transactionItem.setTransactions(new HashSet<>()); - assertThat(transactionItem.getTransactions()).doesNotContain(transactionBack); - assertThat(transactionBack.getTransactionItem()).isNull(); + transactionItem.setEvent(eventBack); + assertThat(transactionItem.getEvent()).isEqualTo(eventBack); + + transactionItem.event(null); + assertThat(transactionItem.getEvent()).isNull(); } } diff --git a/src/test/java/com/sasiedzi/event/domain/TransactionTest.java b/src/test/java/com/sasiedzi/event/domain/TransactionTest.java index d145950..4a73c3f 100644 --- a/src/test/java/com/sasiedzi/event/domain/TransactionTest.java +++ b/src/test/java/com/sasiedzi/event/domain/TransactionTest.java @@ -6,6 +6,8 @@ import static com.sasiedzi.event.domain.TransactionTestSamples.*; import static org.assertj.core.api.Assertions.assertThat; import com.sasiedzi.event.web.rest.TestUtil; +import java.util.HashSet; +import java.util.Set; import org.junit.jupiter.api.Test; class TransactionTest { @@ -41,10 +43,20 @@ class TransactionTest { Transaction transaction = getTransactionRandomSampleGenerator(); TransactionItem transactionItemBack = getTransactionItemRandomSampleGenerator(); - transaction.setTransactionItem(transactionItemBack); - assertThat(transaction.getTransactionItem()).isEqualTo(transactionItemBack); + transaction.addTransactionItem(transactionItemBack); + assertThat(transaction.getTransactionItems()).containsOnly(transactionItemBack); + assertThat(transactionItemBack.getTransaction()).isEqualTo(transaction); - transaction.transactionItem(null); - assertThat(transaction.getTransactionItem()).isNull(); + transaction.removeTransactionItem(transactionItemBack); + assertThat(transaction.getTransactionItems()).doesNotContain(transactionItemBack); + assertThat(transactionItemBack.getTransaction()).isNull(); + + transaction.transactionItems(new HashSet<>(Set.of(transactionItemBack))); + assertThat(transaction.getTransactionItems()).containsOnly(transactionItemBack); + assertThat(transactionItemBack.getTransaction()).isEqualTo(transaction); + + transaction.setTransactionItems(new HashSet<>()); + assertThat(transaction.getTransactionItems()).doesNotContain(transactionItemBack); + assertThat(transactionItemBack.getTransaction()).isNull(); } } diff --git a/src/test/java/com/sasiedzi/event/domain/UserAccountAsserts.java b/src/test/java/com/sasiedzi/event/domain/UserAccountAsserts.java index e71e661..039839c 100644 --- a/src/test/java/com/sasiedzi/event/domain/UserAccountAsserts.java +++ b/src/test/java/com/sasiedzi/event/domain/UserAccountAsserts.java @@ -57,8 +57,6 @@ public class UserAccountAsserts { * @param actual the actual entity */ public static void assertUserAccountUpdatableRelationshipsEquals(UserAccount expected, UserAccount actual) { - assertThat(expected) - .as("Verify UserAccount relationships") - .satisfies(e -> assertThat(e.getTransactionItems()).as("check transactionItems").isEqualTo(actual.getTransactionItems())); + // empty method } } diff --git a/src/test/java/com/sasiedzi/event/domain/UserAccountTest.java b/src/test/java/com/sasiedzi/event/domain/UserAccountTest.java index fb7631c..b23e2d3 100644 --- a/src/test/java/com/sasiedzi/event/domain/UserAccountTest.java +++ b/src/test/java/com/sasiedzi/event/domain/UserAccountTest.java @@ -32,18 +32,18 @@ class UserAccountTest { userAccount.addTransactionItem(transactionItemBack); assertThat(userAccount.getTransactionItems()).containsOnly(transactionItemBack); - assertThat(transactionItemBack.getUserAccounts()).containsOnly(userAccount); + assertThat(transactionItemBack.getUserAccount()).isEqualTo(userAccount); userAccount.removeTransactionItem(transactionItemBack); assertThat(userAccount.getTransactionItems()).doesNotContain(transactionItemBack); - assertThat(transactionItemBack.getUserAccounts()).doesNotContain(userAccount); + assertThat(transactionItemBack.getUserAccount()).isNull(); userAccount.transactionItems(new HashSet<>(Set.of(transactionItemBack))); assertThat(userAccount.getTransactionItems()).containsOnly(transactionItemBack); - assertThat(transactionItemBack.getUserAccounts()).containsOnly(userAccount); + assertThat(transactionItemBack.getUserAccount()).isEqualTo(userAccount); userAccount.setTransactionItems(new HashSet<>()); assertThat(userAccount.getTransactionItems()).doesNotContain(transactionItemBack); - assertThat(transactionItemBack.getUserAccounts()).doesNotContain(userAccount); + assertThat(transactionItemBack.getUserAccount()).isNull(); } } diff --git a/src/test/java/com/sasiedzi/event/web/rest/TransactionItemResourceIT.java b/src/test/java/com/sasiedzi/event/web/rest/TransactionItemResourceIT.java index ee3fb2c..d9db49e 100644 --- a/src/test/java/com/sasiedzi/event/web/rest/TransactionItemResourceIT.java +++ b/src/test/java/com/sasiedzi/event/web/rest/TransactionItemResourceIT.java @@ -16,8 +16,6 @@ import com.sasiedzi.event.domain.TransactionItem; import com.sasiedzi.event.repository.TransactionItemRepository; import jakarta.persistence.EntityManager; import java.math.BigDecimal; -import java.time.LocalDate; -import java.time.ZoneId; import java.util.ArrayList; import java.util.Random; import java.util.concurrent.atomic.AtomicLong; @@ -48,9 +46,6 @@ class TransactionItemResourceIT { private static final BigDecimal DEFAULT_AMOUNT = new BigDecimal(1); private static final BigDecimal UPDATED_AMOUNT = new BigDecimal(2); - private static final LocalDate DEFAULT_DATE = LocalDate.ofEpochDay(0L); - private static final LocalDate UPDATED_DATE = LocalDate.now(ZoneId.systemDefault()); - private static final String DEFAULT_COMMENT = "AAAAAAAAAA"; private static final String UPDATED_COMMENT = "BBBBBBBBBB"; @@ -86,7 +81,7 @@ class TransactionItemResourceIT { * if they test an entity which requires the current entity. */ public static TransactionItem createEntity() { - return new TransactionItem().amount(DEFAULT_AMOUNT).date(DEFAULT_DATE).comment(DEFAULT_COMMENT); + return new TransactionItem().amount(DEFAULT_AMOUNT).comment(DEFAULT_COMMENT); } /** @@ -96,7 +91,7 @@ class TransactionItemResourceIT { * if they test an entity which requires the current entity. */ public static TransactionItem createUpdatedEntity() { - return new TransactionItem().amount(UPDATED_AMOUNT).date(UPDATED_DATE).comment(UPDATED_COMMENT); + return new TransactionItem().amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT); } @BeforeEach @@ -168,7 +163,6 @@ class TransactionItemResourceIT { .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(jsonPath("$.[*].id").value(hasItem(transactionItem.getId().intValue()))) .andExpect(jsonPath("$.[*].amount").value(hasItem(sameNumber(DEFAULT_AMOUNT)))) - .andExpect(jsonPath("$.[*].date").value(hasItem(DEFAULT_DATE.toString()))) .andExpect(jsonPath("$.[*].comment").value(hasItem(DEFAULT_COMMENT))); } @@ -202,7 +196,6 @@ class TransactionItemResourceIT { .andExpect(content().contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(jsonPath("$.id").value(transactionItem.getId().intValue())) .andExpect(jsonPath("$.amount").value(sameNumber(DEFAULT_AMOUNT))) - .andExpect(jsonPath("$.date").value(DEFAULT_DATE.toString())) .andExpect(jsonPath("$.comment").value(DEFAULT_COMMENT)); } @@ -225,7 +218,7 @@ class TransactionItemResourceIT { TransactionItem updatedTransactionItem = transactionItemRepository.findById(transactionItem.getId()).orElseThrow(); // Disconnect from session so that the updates on updatedTransactionItem are not directly saved in db em.detach(updatedTransactionItem); - updatedTransactionItem.amount(UPDATED_AMOUNT).date(UPDATED_DATE).comment(UPDATED_COMMENT); + updatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT); restTransactionItemMockMvc .perform( @@ -310,7 +303,7 @@ class TransactionItemResourceIT { TransactionItem partialUpdatedTransactionItem = new TransactionItem(); partialUpdatedTransactionItem.setId(transactionItem.getId()); - partialUpdatedTransactionItem.amount(UPDATED_AMOUNT).date(UPDATED_DATE); + partialUpdatedTransactionItem.comment(UPDATED_COMMENT); restTransactionItemMockMvc .perform( @@ -342,7 +335,7 @@ class TransactionItemResourceIT { TransactionItem partialUpdatedTransactionItem = new TransactionItem(); partialUpdatedTransactionItem.setId(transactionItem.getId()); - partialUpdatedTransactionItem.amount(UPDATED_AMOUNT).date(UPDATED_DATE).comment(UPDATED_COMMENT); + partialUpdatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT); restTransactionItemMockMvc .perform(