45 lines
1.4 KiB
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));
|
|
}
|
|
|
|
} |