package com.xebia.scrumboard.data;
import static com.xebia.scrumboard.representation.SprintAssert.assertThat;
import static org.fest.assertions.Assertions.assertThat;
import java.util.List;
import org.junit.Test;
import com.xebia.scrumboard.representation.Sprint;
import com.xebia.scrumboard.representation.SprintAssert;
public class SprintsTest {
@Test
public void shouldNotGetUnexisting() {
Sprint sprint = Sprints.get("1");
assertThat(sprint).isNull();
}
@Test
public void shouldPost() {
Sprint sprint = new Sprint("release", 2);
sprint = Sprints.put(sprint);
assertThat(sprint).hasId();
sprint = Sprints.get(sprint.getId());
SprintAssert.assertThat(sprint).hasWeeks(2).hasName("release");
}
@Test
public void shouldPut() {
Sprint sprint = new Sprint("release", 2);
sprint = Sprints.put(sprint);
assertThat(sprint).hasId();
sprint.setWeeks(3);
Sprints.put(sprint);
sprint = Sprints.get(sprint.getId());
SprintAssert.assertThat(sprint).hasWeeks(3).hasName("release");
}
@Test
public void shouldDelete() {
Sprint sprint = new Sprint("release", 2);
sprint = Sprints.put(sprint);
assertThat(sprint).isNotNull();
Sprints.delete(sprint.getId());
sprint = Sprints.get(sprint.getId());
assertThat(sprint).isNull();
}
@Test
public void shouldList() {
deleteAll();
Sprints.put(new Sprint("beta", 3));
Sprints.put(new Sprint("release", 2));
List<Sprint> sprints = Sprints.get();
assertThat(sprints).hasSize(2);
}
private void deleteAll() {
List<Sprint> sprints = Sprints.get();
for (Sprint sprint : sprints)
Sprints.delete(sprint.getId());
}
}