Skip to content

Commit 8b8ae75

Browse files
author
Alex Brekken
committed
Added Lists to Board, tests.
1 parent fa9edff commit 8b8ae75

4 files changed

Lines changed: 49 additions & 5 deletions

File tree

src/main/java/com/julienvey/trello/domain/Board.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44

5-
import java.util.Date;
6-
import java.util.List;
7-
import java.util.Map;
5+
import java.util.*;
86

97
@JsonIgnoreProperties(ignoreUnknown = true)
108
public class Board extends TrelloEntity {
@@ -27,6 +25,7 @@ public class Board extends TrelloEntity {
2725
private Date dateLastView;
2826
private String shortLink;
2927
private List<String> powerUps;
28+
private List<TList> lists = new ArrayList<>();
3029

3130
/* API */
3231

@@ -215,6 +214,14 @@ public void setPowerUps(List<String> powerUps) {
215214
this.powerUps = powerUps;
216215
}
217216

217+
public List<TList> getLists() {
218+
return lists;
219+
}
220+
221+
public void setLists(List<TList> lists) {
222+
this.lists = lists;
223+
}
224+
218225
@JsonIgnoreProperties(ignoreUnknown = true)
219226
public static final class Prefs {
220227
private String permissionLevel;

src/main/java/com/julienvey/trello/impl/TrelloImpl.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ public TrelloImpl(String applicationKey, String accessToken, TrelloHttpClient ht
3939
public Board getBoard(String boardId, Argument... args) {
4040
Board board = get(createUrl(GET_BOARD).params(args).asString(), Board.class, boardId);
4141
board.setInternalTrello(this);
42+
for (TList list : board.getLists()) {
43+
list.setInternalTrello(this);
44+
}
4245
return board;
4346
}
4447

src/test/java/com/julienvey/trello/integration/BoardGetITCase.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import com.julienvey.trello.impl.http.AsyncTrelloHttpClient;
99
import com.julienvey.trello.impl.http.RestTemplateHttpClient;
1010
import org.junit.Before;
11-
import org.junit.BeforeClass;
1211
import org.junit.Test;
1312
import org.junit.runner.RunWith;
1413
import org.junit.runners.Parameterized;
@@ -74,6 +73,15 @@ public void testGetBoardFetchLists() {
7473
assertThat(lists).hasSize(4);
7574
}
7675

76+
@Test
77+
public void testGetBoardWithLists() {
78+
Board board = trello.getBoard(BOARD_ID, arg("lists", "all"));
79+
List<TList> lists = board.getLists();
80+
81+
assertThat(lists).isNotNull();
82+
assertThat(lists).hasSize(4);
83+
}
84+
7785
@Test
7886
public void testGetBoardFetchListsCardsAll() {
7987
Board board = trello.getBoard(BOARD_ID);

src/test/java/com/julienvey/trello/unit/BoardGetUnitTest.java

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import org.junit.Test;
99
import org.mockito.Mockito;
1010

11-
import java.util.List;
11+
import java.util.*;
1212

1313
import static com.julienvey.trello.utils.ArgUtils.arg;
1414
import static org.fest.assertions.Assertions.assertThat;
@@ -50,6 +50,32 @@ public void testGetBoardSimple() {
5050
verifyNoMoreInteractions(httpClient);
5151
}
5252

53+
@Test
54+
public void testGetBoardWithLists() {
55+
//Given
56+
Board mockBoard = new Board();
57+
mockBoard.setId("idBoard");
58+
TList list1 = new TList();
59+
list1.setId("list1");
60+
TList list2 = new TList();
61+
list2.setId("list2");
62+
mockBoard.setLists(Arrays.asList(list1, list2));
63+
when(httpClient.get(anyString(), any(Class.class), (String[]) anyVararg())).thenReturn(mockBoard);
64+
65+
//When
66+
Board board = trello.getBoard("idBoard", arg("lists", "all"));
67+
68+
//Then
69+
assertThat(board).isNotNull();
70+
assertThat(board.getId()).isEqualTo("idBoard");
71+
assertThat(board.getLists()).isNotNull();
72+
assertThat(board.getLists().size()).isEqualTo(2);
73+
74+
verify(httpClient).get(eq("https://api.trello.com/1/boards/{boardId}?key={applicationKey}&token={userToken}&lists=all"),
75+
eq(Board.class), eq("idBoard"), eq(""), eq(""));
76+
verifyNoMoreInteractions(httpClient);
77+
}
78+
5379
@Test
5480
public void testGetBoardActions() {
5581
//Given

0 commit comments

Comments
 (0)