aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/test/java/com/vaadin/tests/components/treegrid/TreeGridTest.java
blob: 279f4fd24caab9a2eee1d0e62301f3299c2f168e (plain)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package com.vaadin.tests.components.treegrid;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.junit.Test;

import com.vaadin.data.TreeData;
import com.vaadin.data.provider.TreeDataProvider;
import com.vaadin.tests.data.bean.Person;
import com.vaadin.ui.Grid.Column;
import com.vaadin.ui.TreeGrid;
import com.vaadin.ui.renderers.TextRenderer;

public class TreeGridTest {

    private TreeGrid<String> treeGrid = new TreeGrid<>();
    private boolean expandEventFired = false;
    private boolean collapseEventFired = false;

    @Test
    public void testChangeRendererOfHierarchyColumn() {
        treeGrid.addColumn(Object::toString).setId("foo");
        treeGrid.setHierarchyColumn("foo");
        // This should be allowed.
        treeGrid.getColumn("foo").setRenderer(new TextRenderer());
    }

    @Test
    public void testExpandAndCollapseEvents() {
        TreeData<String> treeData = new TreeData<>();
        treeData.addItem(null, "Foo");
        treeData.addItem("Foo", "Bar");
        treeData.addItem("Foo", "Baz");
        treeGrid.setDataProvider(new TreeDataProvider<>(treeData));

        treeGrid.addExpandListener(event -> expandEventFired = true);
        treeGrid.addCollapseListener(event -> collapseEventFired = true);

        // Test expand event
        assertFalse(expandEventFired);
        treeGrid.expand("Foo");
        assertTrue("Item not expanded", treeGrid.isExpanded("Foo"));
        assertTrue("Expand event not fired", expandEventFired);

        // Test collapse event
        assertFalse(collapseEventFired);
        treeGrid.collapse("Foo");
        assertFalse("Item not collapsed", treeGrid.isExpanded("Foo"));
        assertTrue("Collapse event not fired", collapseEventFired);
    }

    @Test
    public void testSetAndGetHierarchyColumn() {
        Column<String, String> column = treeGrid.addColumn(Object::toString)
                .setId("foo");
        treeGrid.setHierarchyColumn("foo");
        assertEquals("Hierarchy column was not correctly returned", column,
                treeGrid.getHierarchyColumn());
    }

    @Test
    public void testBeanTypeConstructor() {
        TreeGrid<Person> treeGrid = new TreeGrid<>(Person.class);
        assertEquals(Person.class, treeGrid.getBeanType());
    }
}