Added some more Unit Test to verify equality between DTOs.
nclazz/nclazz-mail-relay/pipeline/head This commit looks good Details

pull/21/head
Niclas Thobaben 2022-02-15 14:48:22 +01:00
parent db40d40305
commit d7edbc8237
4 changed files with 116 additions and 0 deletions

View File

@ -0,0 +1,36 @@
package de.nclazz.service.mailrelay.adapter.web;
import de.nclazz.service.mailrelay.domain.Message;
import org.junit.jupiter.api.Test;
import java.time.LocalDateTime;
import static org.assertj.core.api.Assertions.assertThat;
class MessageFormTest {
@Test
void messageFormsWithSamePropertiesMustBeEqual() {
MessageForm formA = MessageForm.of("my-token", "Subject", "My Content", "from@mymail.com");
MessageForm formB = MessageForm.of("my-token", "Subject", "My Content", "from@mymail.com");
assertThat(formA.equals(formB)).isTrue();
}
@Test
void messageFormsWithDifferentPropertiesMustBeNotEqual() {
MessageForm formA = MessageForm.of("my-token", "Subject", "My Content", "from@mymail.com");
MessageForm formB = MessageForm.of("other-token", "Subject", "My Content", "from@mymail.com");
assertThat(formA.equals(formB)).isFalse();
}
@Test
void messageFormCorrectlyMapsToMessage() {
LocalDateTime now = LocalDateTime.now();
MessageForm form = MessageForm.of("my-token", "Subject", "My Content", "from@mymail.com");
assertThat(form.toMessage(now))
.isEqualTo(Message.of("Subject", "My Content", "from@mymail.com", now));
}
}

View File

@ -0,0 +1,24 @@
package de.nclazz.service.mailrelay.adapter.web;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
class ValidationErrorTest {
@Test
void validationErrorWithSamePropertiesMustBeEqual() {
ValidationError errorA = new ValidationError("field", "The message", null, "NotBlank");
ValidationError errorB = new ValidationError("field", "The message", null, "NotBlank");
assertThat(errorA.equals(errorB)).isTrue();
}
@Test
void validationErrorWithDifferentPropertiesMustBeNotEqual() {
ValidationError errorA = new ValidationError("field", "The message", null, "NotBlank");
ValidationError errorB = new ValidationError("fieldB", "The message", null, "NotBlank");
assertThat(errorA.equals(errorB)).isFalse();
}
}

View File

@ -0,0 +1,28 @@
package de.nclazz.service.mailrelay.domain;
import org.junit.jupiter.api.Test;
import java.util.List;
import java.util.UUID;
import static org.assertj.core.api.Assertions.assertThat;
class AccountTest {
@Test
void accountWithSamePropertiesMustBeEqual() {
Account accountA = Account.of("my-account", List.of("vip@my-account.com"));
Account accountB = Account.of("my-account", List.of("vip@my-account.com"));
assertThat(accountA.equals(accountB)).isTrue();
}
@Test
void accountWithoutSamePropertiesMustBeNotEqual() {
Account accountA = Account.of("my-account", List.of("vip@my-account.com"));
accountA.setGuid(UUID.randomUUID());
Account accountB = Account.of("my-account", List.of("vip@my-account.com"));
assertThat(accountA.equals(accountB)).isFalse();
}
}

View File

@ -0,0 +1,28 @@
package de.nclazz.service.mailrelay.domain;
import org.junit.jupiter.api.Test;
import java.time.LocalDateTime;
import static org.assertj.core.api.Assertions.assertThat;
class MessageTest {
@Test
void messagesWithSamePropertiesMustBeEqual() {
LocalDateTime now = LocalDateTime.now();
Message messageA = Message.of("Subject", "Content", "from@mycompany.com", now);
Message messageB = Message.of("Subject", "Content", "from@mycompany.com", now);
assertThat(messageA.equals(messageB)).isTrue();
}
@Test
void messagesWithoutSamePropertiesMustBeNotEqual() {
LocalDateTime now = LocalDateTime.now();
Message messageA = Message.of("Subject", "Content", "from@mycompany.com", now);
Message messageB = Message.of("Other Subject", "Content", "from@mycompany.com", now);
assertThat(messageA.equals(messageB)).isFalse();
}
}