1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.googlesitemap.app.subapp.sitemapdetail.contentviews.formatter;
35
36 import static org.hamcrest.CoreMatchers.is;
37 import static org.junit.Assert.assertThat;
38 import static org.mockito.Mockito.mock;
39
40 import info.magnolia.jcr.util.NodeTypes;
41 import info.magnolia.test.mock.jcr.MockNode;
42 import info.magnolia.ui.vaadin.integration.jcr.DefaultProperty;
43 import info.magnolia.ui.vaadin.integration.jcr.JcrNodeAdapter;
44 import info.magnolia.ui.workbench.column.definition.PropertyColumnDefinition;
45
46 import javax.jcr.Node;
47 import javax.jcr.RepositoryException;
48
49 import org.junit.Before;
50 import org.junit.Test;
51 import org.mockito.Mockito;
52
53 import com.vaadin.data.Item;
54 import com.vaadin.ui.Table;
55
56
57
58
59 public class FolderNameColumnFormatterTest {
60
61 private final String columnId = "displayName";
62
63 private Table table;
64 private Item item;
65 private Object itemId;
66
67 private PropertyColumnDefinition propertyColumnDefinition;
68 private FolderNameColumnFormatter folderNameColumnFormatter;
69
70 @Before
71 public void setIp() {
72 table = mock(Table.class);
73 item = mock(Item.class);
74 itemId = item;
75
76 propertyColumnDefinition = new PropertyColumnDefinition();
77 folderNameColumnFormatter = new FolderNameColumnFormatter(propertyColumnDefinition);
78 }
79
80 @Test
81 public void testGenerateCellWhenFolder() throws RepositoryException {
82
83 final String nodeName = "nodeName";
84
85 JcrNodeAdapter nodeAdapter = mock(JcrNodeAdapter.class);
86 Node node = new MockNode(nodeName, NodeTypes.Folder.NAME);
87
88 Mockito.when(nodeAdapter.getJcrItem()).thenReturn(node);
89 Mockito.when(table.getItem(itemId)).thenReturn(nodeAdapter);
90
91
92 Object cell = folderNameColumnFormatter.generateCell(table, itemId, columnId);
93
94
95 assertThat((String) cell, is(nodeName));
96 }
97
98 @Test
99 public void testGenerateCellWhenItemPropertyIsNotNull() {
100
101 final String value = "testValue";
102 Mockito.when(table.getItem(itemId)).thenReturn(item);
103 Mockito.when(item.getItemProperty(columnId)).thenReturn(new DefaultProperty(value));
104
105
106 Object cell = folderNameColumnFormatter.generateCell(table, itemId, columnId);
107
108
109 assertThat((String) cell, is(value));
110 }
111
112 @Test
113 public void testGenerateCellWhenItemPropertyIsNull() {
114
115 Mockito.when(table.getItem(itemId)).thenReturn(item);
116 Mockito.when(item.getItemProperty(columnId)).thenReturn(null);
117
118
119 Object cell = folderNameColumnFormatter.generateCell(table, itemId, columnId);
120
121
122 assertThat((String) cell, is(""));
123 }
124
125 @Test
126 public void testGenerateCellWhenItemIsNull() {
127
128 Mockito.when(table.getItem(itemId)).thenReturn(null);
129
130
131 Object cell = folderNameColumnFormatter.generateCell(table, itemId, columnId);
132
133
134 assertThat((String) cell, is(""));
135 }
136
137 }