Skip to content

Commit

Permalink
Added UserRegistryTest
Browse files Browse the repository at this point in the history
100% coverage for UserRegistry.
  • Loading branch information
roaraf committed Apr 23, 2026
1 parent 7201f0e commit 781e060
Showing 1 changed file with 106 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
package ntnu.systemutvikling.team6.models.registry;

import ntnu.systemutvikling.team6.models.user.Inbox;
import ntnu.systemutvikling.team6.models.user.Role;
import ntnu.systemutvikling.team6.models.user.Settings;
import ntnu.systemutvikling.team6.models.user.User;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import java.util.Optional;
import java.util.UUID;

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

class UserRegistryTest {
User user;
UserRegistry userRegistry;

@BeforeEach
void setUp() {
String validUsername = "username";
String validEmail = "Email@gmail.com";
String validPassword = "Password";
Role validRole = Role.NORMAL_USER;
Settings validSettings = new Settings();
Inbox validInbox = new Inbox();
this.user =
new User(
validUsername,
validEmail,
validPassword,
validRole,
validSettings,
validInbox
);
userRegistry = new UserRegistry();
}

@Test
void userRegistryShouldStartEmpty() {
assertEquals(0, userRegistry.getAllUsers().size());
}

@Test
void addUserTest() {
userRegistry.addUser(user);

assertEquals(user, userRegistry.getAllUsers().getFirst());
}

@Test
void addingNullUserShouldThrow() {
assertThrows(
IllegalArgumentException.class,
() -> userRegistry.addUser(null)
);
}

@Test
void removeUserTest() {
userRegistry.addUser(user);

userRegistry.removeUserByUUID(user.getId());

assertEquals(0, userRegistry.getAllUsers().size());
}

@Test
void removeNullUserShouldThrow() {
userRegistry.addUser(user);

assertThrows(
IllegalArgumentException.class,
() -> userRegistry.removeUserByUUID(null)
);
}

@Test
void getUserByUUIDTest() {
userRegistry.addUser(user);

Optional<User> result = userRegistry.findUserById(user.getId());

assertTrue(result.isPresent());
assertEquals(result.get().getId(), user.getId());
}

@Test
void getUserByUUIDNonExistentUserTest() {
userRegistry.addUser(user);

Optional<User> result = userRegistry.findUserById(UUID.randomUUID());

assertFalse(result.isPresent());
}

@Test
void getNullUserByUUIDShouldThrow() {
userRegistry.addUser(user);

assertThrows(
IllegalArgumentException.class,
() -> userRegistry.findUserById(null)
);
}
}

0 comments on commit 781e060

Please sign in to comment.