package fr.mmarie.api.jira.input;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableList;
import fr.mmarie.api.jira.Comment;
import fr.mmarie.api.jira.Transition;
import fr.mmarie.api.jira.response.TransitionResponse;
import io.dropwizard.jackson.Jackson;
import org.junit.Test;
import java.io.IOException;
import static io.dropwizard.testing.FixtureHelpers.fixture;
import static org.assertj.core.api.Assertions.assertThat;
public class TransitionInputTest {
private static final ObjectMapper MAPPER = Jackson.newObjectMapper();
@Test
public void serializesToJSON() throws IOException {
TransitionInput.CommentWrapper commentWrapper = new TransitionInput.CommentWrapper(
new Comment("Bug has been fixed."));
final TransitionInput transitionResponse = new TransitionInput(
new TransitionInput.Update(ImmutableList.of(commentWrapper)),
new Transition(15L, "Close")
);
final String expected = MAPPER.writeValueAsString(
MAPPER.readValue(fixture("fixtures/jira/input/transition.json"), TransitionInput.class));
assertThat(MAPPER.writeValueAsString(transitionResponse)).isEqualTo(expected);
}
@Test
public void deserializesFromJSON() throws IOException {
TransitionInput.CommentWrapper commentWrapper = new TransitionInput.CommentWrapper(
new Comment("Bug has been fixed."));
final TransitionInput expected = new TransitionInput(
new TransitionInput.Update(ImmutableList.of(commentWrapper)),
new Transition(15L, "Close")
);
final TransitionInput transition = MAPPER.readValue(fixture("fixtures/jira/input/transition.json"), TransitionInput.class);
assertThat(transition)
.isEqualTo(expected);
}
@Test
public void testToString() throws Exception {
TransitionInput.CommentWrapper commentWrapper = new TransitionInput.CommentWrapper(
new Comment("Bug has been fixed."));
final TransitionInput expected = new TransitionInput(
new TransitionInput.Update(ImmutableList.of(commentWrapper)),
new Transition(15L, "Close")
);
assertThat(expected.toString())
.isEqualTo("TransitionInput(transition=Transition(id=15, name=Close))");
}
}