Merge branch 'Branch_transactionModelJhipster' into ver4

This commit is contained in:
2024-11-13 16:16:05 +01:00
23 changed files with 189 additions and 287 deletions
+13 -9
View File
@@ -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",
+1 -1
View File
@@ -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": [],
@@ -48,7 +48,7 @@ public class Event implements Serializable {
private Set<Registration> registrations = new HashSet<>();
@OneToMany(fetch = FetchType.LAZY, mappedBy = "event")
@JsonIgnoreProperties(value = { "event", "transactionItem" }, allowSetters = true)
@JsonIgnoreProperties(value = { "event", "transactionItems" }, allowSetters = true)
private Set<Transaction> transactions = new HashSet<>();
// jhipster-needle-entity-add-field - JHipster will add fields here
@@ -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<TransactionItem> 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<TransactionItem> getTransactionItems() {
return this.transactionItems;
}
public void setTransactionItem(TransactionItem transactionItem) {
this.transactionItem = transactionItem;
public void setTransactionItems(Set<TransactionItem> 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<TransactionItem> 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;
}
@@ -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<UserAccount> userAccounts = new HashSet<>();
private UserAccount userAccount;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "transactionItem")
@JsonIgnoreProperties(value = { "event", "transactionItem" }, allowSetters = true)
private Set<Transaction> 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<UserAccount> getUserAccounts() {
return this.userAccounts;
public UserAccount getUserAccount() {
return this.userAccount;
}
public void setUserAccounts(Set<UserAccount> userAccounts) {
this.userAccounts = userAccounts;
public void setUserAccount(UserAccount userAccount) {
this.userAccount = userAccount;
}
public TransactionItem userAccounts(Set<UserAccount> 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<Transaction> getTransactions() {
return this.transactions;
public void setEvent(Event event) {
this.event = event;
}
public void setTransactions(Set<Transaction> 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<Transaction> 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() + "'" +
"}";
}
@@ -33,8 +33,8 @@ public class UserAccount implements Serializable {
)
private Set<User> 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<TransactionItem> 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<TransactionItem> 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;
}
@@ -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<TransactionItem, Long> {
public interface TransactionItemRepository extends JpaRepository<TransactionItem, Long> {
default Optional<TransactionItem> findOneWithEagerRelationships(Long id) {
return this.fetchBagRelationships(this.findById(id));
return this.findOneWithToOneRelationships(id);
}
default List<TransactionItem> findAllWithEagerRelationships() {
return this.fetchBagRelationships(this.findAll());
return this.findAllWithToOneRelationships();
}
default Page<TransactionItem> 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<TransactionItem> findAllWithToOneRelationships(Pageable pageable);
@Query("select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event")
List<TransactionItem> findAllWithToOneRelationships();
@Query(
"select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event where transactionItem.id =:id"
)
Optional<TransactionItem> findOneWithToOneRelationships(@Param("id") Long id);
}
@@ -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<TransactionItem> fetchBagRelationships(Optional<TransactionItem> transactionItem);
List<TransactionItem> fetchBagRelationships(List<TransactionItem> transactionItems);
Page<TransactionItem> fetchBagRelationships(Page<TransactionItem> transactionItems);
}
@@ -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<TransactionItem> fetchBagRelationships(Optional<TransactionItem> transactionItem) {
return transactionItem.map(this::fetchUserAccounts);
}
@Override
public Page<TransactionItem> fetchBagRelationships(Page<TransactionItem> transactionItems) {
return new PageImpl<>(
fetchBagRelationships(transactionItems.getContent()),
transactionItems.getPageable(),
transactionItems.getTotalElements()
);
}
@Override
public List<TransactionItem> fetchBagRelationships(List<TransactionItem> 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<TransactionItem> fetchUserAccounts(List<TransactionItem> transactionItems) {
HashMap<Object, Integer> order = new HashMap<>();
IntStream.range(0, transactionItems.size()).forEach(index -> order.put(transactionItems.get(index).getId(), index));
List<TransactionItem> 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;
}
}
@@ -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());
}
@@ -26,9 +26,6 @@
<column name="event_id" type="bigint">
<constraints nullable="true" />
</column>
<column name="transaction_item_id" type="bigint">
<constraints nullable="true" />
</column>
<!-- jhipster-needle-liquibase-add-column - JHipster will add columns here -->
</createTable>
</changeSet>
@@ -16,12 +16,5 @@
referencedColumnNames="id"
referencedTableName="event"
/>
<addForeignKeyConstraint baseColumnNames="transaction_item_id"
baseTableName="transaction"
constraintName="fk_transaction__transaction_item_id"
referencedColumnNames="id"
referencedTableName="transaction_item"
/>
</changeSet>
</databaseChangeLog>
@@ -9,7 +9,7 @@
<!--
Added the entity TransactionItem.
-->
<changeSet id="20241113135446-1" author="jhipster">
<changeSet id="20241113151058-1" author="jhipster">
<createTable tableName="transaction_item">
<column name="id" type="bigint">
<constraints primaryKey="true" nullable="false"/>
@@ -17,30 +17,22 @@
<column name="amount" type="decimal(21,2)">
<constraints nullable="true" />
</column>
<column name="date" type="date">
<column name="comment" type="varchar(255)">
<constraints nullable="true" />
</column>
<column name="comment" type="varchar(255)">
<column name="user_account_id" type="bigint">
<constraints nullable="true" />
</column>
<column name="transaction_id" type="bigint">
<constraints nullable="true" />
</column>
<column name="event_id" type="bigint">
<constraints nullable="true" />
</column>
<!-- jhipster-needle-liquibase-add-column - JHipster will add columns here -->
</createTable>
</changeSet>
<changeSet id="20241113135446-1-relations" author="jhipster">
<createTable tableName="rel_transaction_item__user_account">
<column name="user_account_id" type="bigint">
<constraints nullable="false"/>
</column>
<column name="transaction_item_id" type="bigint">
<constraints nullable="false"/>
</column>
</createTable>
<addPrimaryKey columnNames="transaction_item_id, user_account_id" tableName="rel_transaction_item__user_account"/>
</changeSet>
<!-- jhipster-needle-liquibase-add-changeset - JHipster will add changesets here -->
<!--
@@ -51,7 +43,7 @@
This can be customized by adding or removing 'faker' in the 'spring.liquibase.contexts'
Spring Boot configuration key.
-->
<changeSet id="20241113135446-1-data" author="jhipster" context="faker">
<changeSet id="20241113151058-1-data" author="jhipster" context="faker">
<loadData
file="config/liquibase/fake-data/transaction_item.csv"
separator=";"
@@ -59,7 +51,6 @@
usePreparedStatements="true">
<column name="id" type="numeric"/>
<column name="amount" type="numeric"/>
<column name="date" type="date"/>
<column name="comment" type="string"/>
<!-- jhipster-needle-liquibase-add-loadcolumn - JHipster (and/or extensions) can add load columns here -->
</loadData>
@@ -8,20 +8,27 @@
<!--
Added the constraints for entity TransactionItem.
-->
<changeSet id="20241113135446-2" author="jhipster">
<addForeignKeyConstraint baseColumnNames="transaction_item_id"
baseTableName="rel_transaction_item__user_account"
constraintName="fk_rel_transaction_item__user_account__transaction_item_id"
referencedColumnNames="id"
referencedTableName="transaction_item"
/>
<changeSet id="20241113151058-2" author="jhipster">
<addForeignKeyConstraint baseColumnNames="user_account_id"
baseTableName="rel_transaction_item__user_account"
constraintName="fk_rel_transaction_item__user_account__user_account_id"
baseTableName="transaction_item"
constraintName="fk_transaction_item__user_account_id"
referencedColumnNames="id"
referencedTableName="user_account"
/>
<addForeignKeyConstraint baseColumnNames="transaction_id"
baseTableName="transaction_item"
constraintName="fk_transaction_item__transaction_id"
referencedColumnNames="id"
referencedTableName="transaction"
/>
<addForeignKeyConstraint baseColumnNames="event_id"
baseTableName="transaction_item"
constraintName="fk_transaction_item__event_id"
referencedColumnNames="id"
referencedTableName="event"
/>
</changeSet>
</databaseChangeLog>
@@ -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
1 id amount date comment
2 1 11521.38 2024-11-13 until knowingly antagonize per cautiously out
3 2 25335.92 974.75 2024-11-13 paintwork since below bah
4 3 18782.46 25825.62 2024-11-13 whoever outlaw
5 4 31380.57 862.08 2024-11-13 saturate snow vestment seriously
6 5 16957.5 618.2 2024-11-13 desecrate faithfully past versus
7 6 21000.66 3528.31 2024-11-13 card because cap ah
8 7 21849.26 14487.7 2024-11-13 as hourly ha beneath festival grandiose
9 8 11729.78 24535.73 2024-11-13 on fledgling roughly wonderfully
10 9 17672.41 22363.52 2024-11-13 sarcastic or extra-large
11 10 22248.04 5071.75 2024-11-12 where gadzooks out tectonics fortunate
@@ -16,13 +16,13 @@
<include file="config/liquibase/changelog/20241105091003_added_entity_Registration.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20241113134007_added_entity_Transaction.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20241113135042_added_entity_UserAccount.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20241113135446_added_entity_TransactionItem.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20241113151058_added_entity_TransactionItem.xml" relativeToChangelogFile="false"/>
<!-- jhipster-needle-liquibase-add-changelog - JHipster will add liquibase changelogs here -->
<include file="config/liquibase/changelog/20241105091001_added_entity_constraints_Charge.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20241105091003_added_entity_constraints_Registration.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20241113134007_added_entity_constraints_Transaction.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20241113135042_added_entity_constraints_UserAccount.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20241113135446_added_entity_constraints_TransactionItem.xml" relativeToChangelogFile="false"/>
<include file="config/liquibase/changelog/20241113151058_added_entity_constraints_TransactionItem.xml" relativeToChangelogFile="false"/>
<!-- jhipster-needle-liquibase-add-constraints-changelog - JHipster will add liquibase constraints changelogs here -->
<!-- jhipster-needle-liquibase-add-incremental-changelog - JHipster will add incremental liquibase changelogs here -->
</databaseChangeLog>
@@ -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()));
}
}
@@ -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()));
}
}
@@ -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();
}
}
@@ -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();
}
}
@@ -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
}
}
@@ -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();
}
}
@@ -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(