nclazz-mail-relay/src/test/java/de/nclazz/service/mailrelay/adapter/web/MessageFormControllerTest.java

45 lines
1.4 KiB
Java

package de.nclazz.service.mailrelay.adapter.web;
import de.nclazz.service.mailrelay.FakeClock;
import de.nclazz.service.mailrelay.domain.Message;
import de.nclazz.service.mailrelay.domain.Relay;
import de.nclazz.service.mailrelay.domain.RelayAccount;
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 MessageFormControllerTest {
@Test
void forwardMessageShouldForwardMessageAccordingly() {
String token = "my-token";
RelayAccount account = new RelayAccount(
UUID.randomUUID(),
"relay account name",
token,
List.of("vip@account.com")
);
Relay relay = new Relay();
relay.addAccount(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");
MessageFormController controller = new MessageFormController(relay, fakeClock);
controller.forwardMessage("http://mysite.org", form);
assertThat(account.getSentMessages())
.hasSize(1)
.containsExactly(new Message("Subject", "Message", "sender@company.com", now));
}
}