Merge branch 'Branch_db744d63' into ver5

new TransactionItem.java fields
This commit is contained in:
2024-11-17 16:05:11 +01:00
17 changed files with 166 additions and 18 deletions
+13
View File
@@ -11,6 +11,11 @@
"fieldName": "comment",
"fieldType": "String",
"fieldValidateRules": []
},
{
"fieldName": "locked",
"fieldType": "Boolean",
"fieldValidateRules": []
}
],
"name": "TransactionItem",
@@ -39,6 +44,14 @@
"relationshipName": "event",
"relationshipSide": "left",
"relationshipType": "many-to-one"
},
{
"otherEntityField": "playerName",
"otherEntityName": "registration",
"otherEntityRelationshipName": "transactionItem",
"relationshipName": "registration",
"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": 1731510658000,
"lastLiquibaseTimestamp": 1731505842000,
"messageBroker": false,
"microfrontend": null,
"microfrontends": [],
@@ -42,7 +42,7 @@ public class Charge implements Serializable {
private Event event;
@ManyToOne(fetch = FetchType.LAZY)
@JsonIgnoreProperties(value = { "user", "event" }, allowSetters = true)
@JsonIgnoreProperties(value = { "user", "event", "transactionItems" }, allowSetters = true)
private Registration registration;
@ManyToOne(fetch = FetchType.LAZY)
@@ -44,7 +44,7 @@ public class Event implements Serializable {
private String comment;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "event")
@JsonIgnoreProperties(value = { "event" }, allowSetters = true)
@JsonIgnoreProperties(value = { "user", "event", "transactionItems" }, allowSetters = true)
private Set<Registration> registrations = new HashSet<>();
@OneToMany(fetch = FetchType.LAZY, mappedBy = "event")
@@ -5,6 +5,8 @@ import jakarta.persistence.*;
import jakarta.validation.constraints.*;
import java.io.Serializable;
import java.time.ZonedDateTime;
import java.util.HashSet;
import java.util.Set;
/**
* A Registration.
@@ -44,6 +46,10 @@ public class Registration implements Serializable {
@JsonIgnoreProperties(value = { "registrations", "transactions" }, allowSetters = true)
private Event event;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "registration")
@JsonIgnoreProperties(value = { "userAccount", "transaction", "event", "registration" }, allowSetters = true)
private Set<TransactionItem> transactionItems = new HashSet<>();
// jhipster-needle-entity-add-field - JHipster will add fields here
public Long getId() {
@@ -137,6 +143,37 @@ public class Registration implements Serializable {
return this;
}
public Set<TransactionItem> getTransactionItems() {
return this.transactionItems;
}
public void setTransactionItems(Set<TransactionItem> transactionItems) {
if (this.transactionItems != null) {
this.transactionItems.forEach(i -> i.setRegistration(null));
}
if (transactionItems != null) {
transactionItems.forEach(i -> i.setRegistration(this));
}
this.transactionItems = transactionItems;
}
public Registration transactionItems(Set<TransactionItem> transactionItems) {
this.setTransactionItems(transactionItems);
return this;
}
public Registration addTransactionItem(TransactionItem transactionItem) {
this.transactionItems.add(transactionItem);
transactionItem.setRegistration(this);
return this;
}
public Registration removeTransactionItem(TransactionItem transactionItem) {
this.transactionItems.remove(transactionItem);
transactionItem.setRegistration(null);
return this;
}
// jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here
@Override
@@ -39,7 +39,7 @@ public class Transaction implements Serializable {
private Event event;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "transaction", cascade = CascadeType.ALL, orphanRemoval = true)
@JsonIgnoreProperties(value = { "userAccount", "transaction", "event" }, allowSetters = true)
@JsonIgnoreProperties(value = { "userAccount", "transaction", "event", "registration" }, allowSetters = true)
private Set<TransactionItem> transactionItems = new HashSet<>();
// jhipster-needle-entity-add-field - JHipster will add fields here
@@ -27,6 +27,9 @@ public class TransactionItem implements Serializable {
@Column(name = "comment")
private String comment;
@Column(name = "locked")
private Boolean locked;
@ManyToOne(fetch = FetchType.LAZY)
@JsonIgnoreProperties(value = { "users", "transactionItems" }, allowSetters = true)
private UserAccount userAccount;
@@ -39,6 +42,10 @@ public class TransactionItem implements Serializable {
@JsonIgnoreProperties(value = { "registrations", "transactions" }, allowSetters = true)
private Event event;
@ManyToOne(fetch = FetchType.LAZY)
@JsonIgnoreProperties(value = { "user", "event", "transactionItems" }, allowSetters = true)
private Registration registration;
// jhipster-needle-entity-add-field - JHipster will add fields here
public Long getId() {
@@ -80,6 +87,19 @@ public class TransactionItem implements Serializable {
this.comment = comment;
}
public Boolean getLocked() {
return this.locked;
}
public TransactionItem locked(Boolean locked) {
this.setLocked(locked);
return this;
}
public void setLocked(Boolean locked) {
this.locked = locked;
}
public UserAccount getUserAccount() {
return this.userAccount;
}
@@ -119,6 +139,19 @@ public class TransactionItem implements Serializable {
return this;
}
public Registration getRegistration() {
return this.registration;
}
public void setRegistration(Registration registration) {
this.registration = registration;
}
public TransactionItem registration(Registration registration) {
this.setRegistration(registration);
return this;
}
// jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here
@Override
@@ -145,6 +178,7 @@ public class TransactionItem implements Serializable {
"id=" + getId() +
", amount=" + getAmount() +
", comment='" + getComment() + "'" +
", locked='" + getLocked() + "'" +
"}";
}
}
@@ -37,7 +37,7 @@ public class UserAccount implements Serializable {
private Set<User> users = new HashSet<>();
@OneToMany(fetch = FetchType.LAZY, mappedBy = "userAccount")
@JsonIgnoreProperties(value = { "userAccount", "transaction", "event" }, allowSetters = true)
@JsonIgnoreProperties(value = { "userAccount", "transaction", "event", "registration" }, allowSetters = true)
private Set<TransactionItem> transactionItems = new HashSet<>();
// jhipster-needle-entity-add-field - JHipster will add fields here
@@ -27,16 +27,18 @@ public interface TransactionItemRepository extends JpaRepository<TransactionItem
}
@Query(
value = "select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event",
value = "select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event left join fetch transactionItem.registration",
countQuery = "select count(transactionItem) from TransactionItem transactionItem"
)
Page<TransactionItem> findAllWithToOneRelationships(Pageable pageable);
@Query("select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event")
@Query(
"select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event left join fetch transactionItem.registration"
)
List<TransactionItem> findAllWithToOneRelationships();
@Query(
"select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event where transactionItem.id =:id"
"select transactionItem from TransactionItem transactionItem left join fetch transactionItem.event left join fetch transactionItem.registration where transactionItem.id =:id"
)
Optional<TransactionItem> findOneWithToOneRelationships(@Param("id") Long id);
@@ -127,6 +127,9 @@ public class TransactionItemResource {
if (transactionItem.getComment() != null) {
existingTransactionItem.setComment(transactionItem.getComment());
}
if (transactionItem.getLocked() != null) {
existingTransactionItem.setLocked(transactionItem.getLocked());
}
return existingTransactionItem;
})
@@ -20,6 +20,9 @@
<column name="comment" type="varchar(255)">
<constraints nullable="true" />
</column>
<column name="locked" type="boolean">
<constraints nullable="true" />
</column>
<column name="user_account_id" type="bigint">
<constraints nullable="true" />
</column>
@@ -29,6 +32,9 @@
<column name="event_id" type="bigint">
<constraints nullable="true" />
</column>
<column name="registration_id" type="bigint">
<constraints nullable="true" />
</column>
<!-- jhipster-needle-liquibase-add-column - JHipster will add columns here -->
</createTable>
</changeSet>
@@ -52,6 +58,7 @@
<column name="id" type="numeric"/>
<column name="amount" type="numeric"/>
<column name="comment" type="string"/>
<column name="locked" type="boolean"/>
<!-- jhipster-needle-liquibase-add-loadcolumn - JHipster (and/or extensions) can add load columns here -->
</loadData>
</changeSet>
@@ -30,5 +30,12 @@
referencedColumnNames="id"
referencedTableName="event"
/>
<addForeignKeyConstraint baseColumnNames="registration_id"
baseTableName="transaction_item"
constraintName="fk_transaction_item__registration_id"
referencedColumnNames="id"
referencedTableName="registration"
/>
</changeSet>
</databaseChangeLog>
@@ -1,2 +1,2 @@
id;amount;comment
id;amount;comment;locked
1 id amount comment locked
2
@@ -2,9 +2,12 @@ package com.sasiedzi.event.domain;
import static com.sasiedzi.event.domain.EventTestSamples.*;
import static com.sasiedzi.event.domain.RegistrationTestSamples.*;
import static com.sasiedzi.event.domain.TransactionItemTestSamples.*;
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 RegistrationTest {
@@ -34,4 +37,26 @@ class RegistrationTest {
registration.event(null);
assertThat(registration.getEvent()).isNull();
}
@Test
void transactionItemTest() {
Registration registration = getRegistrationRandomSampleGenerator();
TransactionItem transactionItemBack = getTransactionItemRandomSampleGenerator();
registration.addTransactionItem(transactionItemBack);
assertThat(registration.getTransactionItems()).containsOnly(transactionItemBack);
assertThat(transactionItemBack.getRegistration()).isEqualTo(registration);
registration.removeTransactionItem(transactionItemBack);
assertThat(registration.getTransactionItems()).doesNotContain(transactionItemBack);
assertThat(transactionItemBack.getRegistration()).isNull();
registration.transactionItems(new HashSet<>(Set.of(transactionItemBack)));
assertThat(registration.getTransactionItems()).containsOnly(transactionItemBack);
assertThat(transactionItemBack.getRegistration()).isEqualTo(registration);
registration.setTransactionItems(new HashSet<>());
assertThat(registration.getTransactionItems()).doesNotContain(transactionItemBack);
assertThat(transactionItemBack.getRegistration()).isNull();
}
}
@@ -49,7 +49,8 @@ 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.getComment()).as("check comment").isEqualTo(actual.getComment()));
.satisfies(e -> assertThat(e.getComment()).as("check comment").isEqualTo(actual.getComment()))
.satisfies(e -> assertThat(e.getLocked()).as("check locked").isEqualTo(actual.getLocked()));
}
/**
@@ -63,6 +64,7 @@ public class TransactionItemAsserts {
.as("Verify TransactionItem relationships")
.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()));
.satisfies(e -> assertThat(e.getEvent()).as("check event").isEqualTo(actual.getEvent()))
.satisfies(e -> assertThat(e.getRegistration()).as("check registration").isEqualTo(actual.getRegistration()));
}
}
@@ -1,6 +1,7 @@
package com.sasiedzi.event.domain;
import static com.sasiedzi.event.domain.EventTestSamples.*;
import static com.sasiedzi.event.domain.RegistrationTestSamples.*;
import static com.sasiedzi.event.domain.TransactionItemTestSamples.*;
import static com.sasiedzi.event.domain.TransactionTestSamples.*;
import static com.sasiedzi.event.domain.UserAccountTestSamples.*;
@@ -60,4 +61,16 @@ class TransactionItemTest {
transactionItem.event(null);
assertThat(transactionItem.getEvent()).isNull();
}
@Test
void registrationTest() {
TransactionItem transactionItem = getTransactionItemRandomSampleGenerator();
Registration registrationBack = getRegistrationRandomSampleGenerator();
transactionItem.setRegistration(registrationBack);
assertThat(transactionItem.getRegistration()).isEqualTo(registrationBack);
transactionItem.registration(null);
assertThat(transactionItem.getRegistration()).isNull();
}
}
@@ -49,6 +49,9 @@ class TransactionItemResourceIT {
private static final String DEFAULT_COMMENT = "AAAAAAAAAA";
private static final String UPDATED_COMMENT = "BBBBBBBBBB";
private static final Boolean DEFAULT_LOCKED = false;
private static final Boolean UPDATED_LOCKED = true;
private static final String ENTITY_API_URL = "/api/transaction-items";
private static final String ENTITY_API_URL_ID = ENTITY_API_URL + "/{id}";
@@ -81,7 +84,7 @@ class TransactionItemResourceIT {
* if they test an entity which requires the current entity.
*/
public static TransactionItem createEntity() {
return new TransactionItem().amount(DEFAULT_AMOUNT).comment(DEFAULT_COMMENT);
return new TransactionItem().amount(DEFAULT_AMOUNT).comment(DEFAULT_COMMENT).locked(DEFAULT_LOCKED);
}
/**
@@ -91,7 +94,7 @@ class TransactionItemResourceIT {
* if they test an entity which requires the current entity.
*/
public static TransactionItem createUpdatedEntity() {
return new TransactionItem().amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT);
return new TransactionItem().amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT).locked(UPDATED_LOCKED);
}
@BeforeEach
@@ -163,7 +166,8 @@ 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("$.[*].comment").value(hasItem(DEFAULT_COMMENT)));
.andExpect(jsonPath("$.[*].comment").value(hasItem(DEFAULT_COMMENT)))
.andExpect(jsonPath("$.[*].locked").value(hasItem(DEFAULT_LOCKED.booleanValue())));
}
@SuppressWarnings({ "unchecked" })
@@ -196,7 +200,8 @@ 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("$.comment").value(DEFAULT_COMMENT));
.andExpect(jsonPath("$.comment").value(DEFAULT_COMMENT))
.andExpect(jsonPath("$.locked").value(DEFAULT_LOCKED.booleanValue()));
}
@Test
@@ -218,7 +223,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).comment(UPDATED_COMMENT);
updatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT).locked(UPDATED_LOCKED);
restTransactionItemMockMvc
.perform(
@@ -303,7 +308,7 @@ class TransactionItemResourceIT {
TransactionItem partialUpdatedTransactionItem = new TransactionItem();
partialUpdatedTransactionItem.setId(transactionItem.getId());
partialUpdatedTransactionItem.comment(UPDATED_COMMENT);
partialUpdatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT);
restTransactionItemMockMvc
.perform(
@@ -335,7 +340,7 @@ class TransactionItemResourceIT {
TransactionItem partialUpdatedTransactionItem = new TransactionItem();
partialUpdatedTransactionItem.setId(transactionItem.getId());
partialUpdatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT);
partialUpdatedTransactionItem.amount(UPDATED_AMOUNT).comment(UPDATED_COMMENT).locked(UPDATED_LOCKED);
restTransactionItemMockMvc
.perform(