Skip to content

Commit

Permalink
feat: Create TellerAccess entity and add unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
yvanhenang committed Oct 2, 2024
1 parent 4736e14 commit 39834c3
Show file tree
Hide file tree
Showing 3 changed files with 136 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package de.adorsys.ledgers.baam.db.domain;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import jakarta.persistence.*;
import java.util.Date;
import java.util.UUID;

@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TellerAccess {

@Id
@GeneratedValue(strategy = GenerationType.UUID)
private UUID id;

private String name;
private String tellerId;


@Enumerated(EnumType.STRING)
private AccessStatus status;

private double dailyLimit;

@Temporal(TemporalType.TIMESTAMP)
private Date createdDate;

@Temporal(TemporalType.TIMESTAMP)
private Date lastModifiedDate;


private String accessType = "TELLER_ACCESS";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package de.adorsys.ledgers.baam.db.repository;


import de.adorsys.ledgers.baam.db.domain.TellerAccess;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.UUID;

@Repository
public interface TellerAccessRepository extends JpaRepository<TellerAccess, UUID> {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package de.adorsys.ledgers.baam.db.repository;

import de.adorsys.ledgers.baam.db.domain.AccessStatus;
import de.adorsys.ledgers.baam.db.domain.TellerAccess;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.util.Date;
import java.util.UUID;

import static org.junit.jupiter.api.Assertions.*;

class TellerAccessTest {

private TellerAccess tellerAccess;

@BeforeEach
void setUp() {
tellerAccess = new TellerAccess();
}

@Test
void testTellerAccessCreation() {
// Create UUID
UUID id = UUID.randomUUID();
String tellerName = "John Doe";
String tellerId = "TELLER123";
AccessStatus status = AccessStatus.ACTIVE;
double dailyLimit = 5000.0;
Date createdDate = new Date();
Date lastModifiedDate = new Date();

// Set values using constructor
TellerAccess tellerAccess = new TellerAccess(id, tellerName, tellerId, status, dailyLimit, createdDate, lastModifiedDate, "TELLER_ACCESS");

// Assert that the values have been set correctly
assertEquals(id, tellerAccess.getId());
assertEquals(tellerName, tellerAccess.getName());
assertEquals(tellerId, tellerAccess.getTellerId());
assertEquals(status, tellerAccess.getStatus());
assertEquals(dailyLimit, tellerAccess.getDailyLimit());
assertEquals(createdDate, tellerAccess.getCreatedDate());
assertEquals(lastModifiedDate, tellerAccess.getLastModifiedDate());
assertEquals("TELLER_ACCESS", tellerAccess.getAccessType());
}

@Test
void testStatusUpdate() {
// Initial status
tellerAccess.setStatus(AccessStatus.ACTIVE);
assertEquals(AccessStatus.ACTIVE, tellerAccess.getStatus());

// Change status to SUSPENDED
tellerAccess.setStatus(AccessStatus.SUSPENDED);
assertEquals(AccessStatus.SUSPENDED, tellerAccess.getStatus());
}

@Test
void testSetDailyLimit() {
tellerAccess.setDailyLimit(2000.0);
assertEquals(2000.0, tellerAccess.getDailyLimit());

// Update daily limit
tellerAccess.setDailyLimit(3000.0);
assertEquals(3000.0, tellerAccess.getDailyLimit());
}

@Test
void testSetCreatedDate() {
Date now = new Date();
tellerAccess.setCreatedDate(now);
assertEquals(now, tellerAccess.getCreatedDate());
}

@Test
void testSetLastModifiedDate() {
Date now = new Date();
tellerAccess.setLastModifiedDate(now);
assertEquals(now, tellerAccess.getLastModifiedDate());
}
}

0 comments on commit 39834c3

Please sign in to comment.