Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DROOLS-5067: Add Bound Fact Property checkmark #1314

Merged
merged 5 commits into from Mar 4, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -102,16 +102,11 @@ public LIElement getLIElement() {

@EventHandler("fieldElement")
public void onFieldElementClick(ClickEvent clickEvent) {
onFieldElementClick();
onFieldElementSelected();
}

@Override
public void onFieldElementSelected() {
fieldElement.addClassName(ConstantHolder.SELECTED);
fieldItemPresenter.onFieldElementClick(this);
}

public void onFieldElementClick() {
fieldElement.addClassName(ConstantHolder.SELECTED);
showCheck(true);
fieldItemPresenter.onFieldElementClick(this);
Expand Down
Expand Up @@ -71,9 +71,9 @@ public void showAll() {

@Override
public void selectProperty(String factName, List<String> propertyParts) {
final ListGroupItemView listGroupItemView = listGroupItemViewMap.get(factName);
if (!listGroupItemView.isShown()) {
onToggleRowExpansion(listGroupItemView, false);
final ListGroupItemView instanceListGroupItemView = listGroupItemViewMap.get(factName);
if (!instanceListGroupItemView.isShown()) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jomarko There is a particular reason about this rename?

Copy link
Author

@jomarko jomarko Feb 27, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my point of view listGroupItemView just says what the variable is instance of, while instanceListGroupItemView tries to provide more information, it is an ListGroupItemView representing an Instance , however if you think my rename is inapproprtiate I can revert it. Or if you have different proposal for name.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jomarko Thank you, fine for me.

onToggleRowExpansion(instanceListGroupItemView, false);
}
String key;
for (int i = 1; i < propertyParts.size(); i++) {
Expand All @@ -87,6 +87,8 @@ public void selectProperty(String factName, List<String> propertyParts) {
key = factName + "." + String.join(".", propertyParts);
if (fieldItemPresenter.fieldItemMap.containsKey(key)) {
fieldItemPresenter.fieldItemMap.get(key).onFieldElementSelected();
} else {
instanceListGroupItemView.showCheck(true);
}
}

Expand Down
Expand Up @@ -96,8 +96,7 @@ public String getActualClassName() {
@EventHandler("listGroupElement")
public void onFullClassNameClick(ClickEvent event) {
if (!listGroupElement.getClassName().contains(ConstantHolder.DISABLED)) {
checkElement.getStyle().setDisplay(Style.Display.BLOCK);
listGroupItem.addClassName(ConstantHolder.SELECTED);
showCheck(true);
presenter.onSelectedElement(this);
}
}
Expand All @@ -124,16 +123,17 @@ public boolean isToExpand() {

@Override
public void unselect() {
listGroupItem.removeClassName(ConstantHolder.SELECTED);
showCheck(false);
}

@Override
public void showCheck(boolean show) {
if (show) {
checkElement.getStyle().setDisplay(Style.Display.BLOCK);
listGroupItem.addClassName(ConstantHolder.SELECTED);
} else {
checkElement.getStyle().setDisplay(Style.Display.NONE);
listGroupItem.removeClassName(ConstantHolder.SELECTED);
}
}

Expand Down
Expand Up @@ -18,6 +18,7 @@

import com.google.gwt.dom.client.SpanElement;
import com.google.gwt.dom.client.Style;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwtmockito.GwtMockitoTestRunner;
import org.drools.workbench.screens.scenariosimulation.client.utils.ConstantHolder;
import org.junit.Before;
Expand All @@ -33,6 +34,7 @@
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
Expand Down Expand Up @@ -89,13 +91,14 @@ public void setFieldData() {
public void onFieldElementSelected() {
fieldItemViewSpy.onFieldElementSelected();
verify(lIElementMock, times(1)).addClassName(eq(ConstantHolder.SELECTED));
verify(fieldItemViewSpy, times(1)).showCheck(eq(true));
verify(fieldItemPresenter, times(1)).onFieldElementClick(eq(fieldItemViewSpy));
}

@Test
public void onFieldElementClicked() {
InOrder inOrder = inOrder(fieldItemViewSpy, lIElementMock, fieldItemPresenter);
fieldItemViewSpy.onFieldElementClick();
fieldItemViewSpy.onFieldElementClick(mock(ClickEvent.class));
inOrder.verify(lIElementMock, times(1)).addClassName(eq(ConstantHolder.SELECTED));
inOrder.verify(fieldItemViewSpy, times(1)).showCheck(eq(true));
inOrder.verify(fieldItemPresenter, times(1)).onFieldElementClick(eq(fieldItemViewSpy));
Expand Down
Expand Up @@ -16,6 +16,7 @@

package org.drools.workbench.screens.scenariosimulation.client.rightpanel;

import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
Expand All @@ -26,6 +27,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Spy;

import static org.drools.workbench.screens.scenariosimulation.client.TestProperties.FACT_NAME;
import static org.drools.workbench.screens.scenariosimulation.client.TestProperties.FULL_PACKAGE;
Expand Down Expand Up @@ -54,8 +56,11 @@ public class ListGroupItemPresenterTest extends AbstractTestToolsTest {
@Mock
private DivElement divElementMock;

@Spy
private FieldItemPresenter fieldItemPresenterSpy = new FieldItemPresenter();

@Mock
private FieldItemPresenter fieldItemPresenterMock;
private FieldItemView fieldItemViewMock;

@Mock
private Map<String, ListGroupItemView> listGroupItemViewMapMock;
Expand All @@ -70,17 +75,19 @@ public class ListGroupItemPresenterTest extends AbstractTestToolsTest {
public void setup() {
super.setup();
when(viewsProviderMock.getListGroupItemView()).thenReturn(listGroupItemViewMock);
when(viewsProviderMock.getFieldItemView()).thenReturn(fieldItemViewMock);
when(listGroupItemViewMock.getListGroupItem()).thenReturn(divElementMock);
when(listGroupItemViewMock.getListGroupExpansion()).thenReturn(divElementMock);
when(listGroupItemViewMapMock.values()).thenReturn(listGroupItemViewValuesMock);
this.listGroupItemPresenter = spy(new ListGroupItemPresenter() {
{
listGroupItemViewMap = listGroupItemViewMapMock;
fieldItemPresenter = fieldItemPresenterMock;
fieldItemPresenter = fieldItemPresenterSpy;
viewsProvider = viewsProviderMock;
testToolsPresenter = testToolsPresenterMock;
}
});
fieldItemPresenterSpy.viewsProvider = viewsProviderMock;
}

@Test
Expand Down Expand Up @@ -163,7 +170,7 @@ public void populateListGroupItemView() {
Map<String, String> simpleProperties = FACT_MODEL_TREE.getSimpleProperties();
for (String key : simpleProperties.keySet()) {
String value = simpleProperties.get(key);
verify(fieldItemPresenterMock, times(1)).getLIElement(eq(FACT_MODEL_TREE.getFactName()), eq(FACT_MODEL_TREE.getFactName()), eq(key), eq(value));
verify(fieldItemPresenterSpy, times(1)).getLIElement(eq(FACT_MODEL_TREE.getFactName()), eq(FACT_MODEL_TREE.getFactName()), eq(key), eq(value));
}
verify(listGroupItemViewMock, times(simpleProperties.size())).addFactField(anyObject());
reset(listGroupItemViewMock);
Expand All @@ -179,6 +186,19 @@ public void populateListGroupItemView() {
public void resetTest() {
listGroupItemPresenter.reset();
verify(listGroupItemViewMapMock, times(1)).clear();
verify(fieldItemPresenterMock, times(1)).reset();
verify(fieldItemPresenterSpy, times(1)).reset();
}

@Test
public void testSelectPropertyNoFieldAvailableJustExpression() {
final String instance = "Applicant";
final String property = "expression";

when(listGroupItemViewMapMock.get(instance)).thenReturn(listGroupItemViewMock);
fieldItemPresenterSpy.fieldItemMap = Collections.emptyMap();

listGroupItemPresenter.selectProperty(instance, Collections.singletonList(property));

verify(listGroupItemViewMock).showCheck(true);
}
}
Expand Up @@ -34,6 +34,7 @@
import static org.drools.workbench.screens.scenariosimulation.client.rightpanel.ListGroupItemViewImpl.LIST_VIEW_PF_EXPAND_ACTIVE;
import static org.drools.workbench.screens.scenariosimulation.client.utils.ConstantHolder.FA_ANGLE_DOWN;
import static org.drools.workbench.screens.scenariosimulation.client.utils.ConstantHolder.HIDDEN;
import static org.drools.workbench.screens.scenariosimulation.client.utils.ConstantHolder.SELECTED;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.anyObject;
Expand Down Expand Up @@ -127,10 +128,12 @@ public void unselect() {
public void showCheck() {
listGroupItemViewSpy.showCheck(true);
verify(checkElementStyleMock, times(1)).setDisplay(eq(Style.Display.BLOCK));
verify(listGroupItemMock, times(1)).addClassName(eq(SELECTED));
//
reset();
listGroupItemViewSpy.showCheck(false);
verify(checkElementStyleMock, times(1)).setDisplay(eq(Style.Display.NONE));
verify(listGroupItemMock, times(1)).removeClassName(eq(SELECTED));
}

@Test
Expand Down