42 lines
1.4 KiB
Java
42 lines
1.4 KiB
Java
package de.nclazz.service.mailrelay.adapter.web;
|
|
|
|
import de.nclazz.service.mailrelay.FakeClock;
|
|
import de.nclazz.service.mailrelay.domain.Account;
|
|
import de.nclazz.service.mailrelay.domain.Relay;
|
|
import de.nclazz.service.mailrelay.domain.TestRelayBuilder;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import java.time.Clock;
|
|
import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
class MessageRestControllerTest {
|
|
|
|
@Test
|
|
void forwardMessageShouldForwardMessageAccordingly() {
|
|
String token = "my-token";
|
|
Account account = new Account(
|
|
UUID.randomUUID(),
|
|
"relay account name",
|
|
token,
|
|
List.of("vip@account.com")
|
|
);
|
|
|
|
Relay relay = TestRelayBuilder.builder().build();
|
|
relay.saveAccount(account);
|
|
|
|
LocalDateTime now = LocalDateTime.of(2020, 12, 24, 12, 54);
|
|
Clock fakeClock = FakeClock.fixed(now);
|
|
|
|
MessageForm form = MessageForm.of(token, "Subject", "Message", "sender@company.com");
|
|
|
|
MessageRestController controller = new MessageRestController(relay, fakeClock);
|
|
|
|
assertThat(controller.forwardMessage(form))
|
|
.extracting("subject", "content", "from", "timestamp")
|
|
.containsExactly("Subject", "Message", "sender@company.com", now);
|
|
}
|
|
} |