nclazz-mail-relay/src/test/java/de/nclazz/service/mailrelay/adapter/web/MessageRestControllerTest.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);
}
}