package com.constellio.model.entities.search.logical.criterion;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.when;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import com.constellio.model.entities.schemas.Metadata;
import com.constellio.model.entities.schemas.MetadataValueType;
import com.constellio.model.services.search.query.logical.criteria.IsNotNullCriterion;
import com.constellio.sdk.tests.ConstellioTest;
public class IsNotNullCriterionTest extends ConstellioTest {
IsNotNullCriterion criterion;
@Mock Metadata textMetadata, booleanMetadata, dateMetadata, numberMetadata;
@Before
public void setUp()
throws Exception {
criterion = new IsNotNullCriterion();
when(textMetadata.getDataStoreCode()).thenReturn("textMetadata_s");
when(textMetadata.getType()).thenReturn(MetadataValueType.STRING);
when(booleanMetadata.getDataStoreCode()).thenReturn("booleanMetadata_b");
when(booleanMetadata.getType()).thenReturn(MetadataValueType.BOOLEAN);
when(dateMetadata.getDataStoreCode()).thenReturn("dateMetadata_dt");
when(dateMetadata.getType()).thenReturn(MetadataValueType.DATE_TIME);
when(numberMetadata.getDataStoreCode()).thenReturn("numberMetadata_d");
when(numberMetadata.getType()).thenReturn(MetadataValueType.NUMBER);
}
@Test
public void givenTextMetadataWhenGettingSolrQueryThenQueryIsCorrect() {
assertThat(criterion.getSolrQuery(textMetadata)).isEqualTo("(textMetadata_s:*)");
}
@Test
public void givenBooleanMetadataWhenGettingSolrQueryThenQueryIsCorrect() {
assertThat(criterion.getSolrQuery(booleanMetadata)).isEqualTo("(booleanMetadata_b:*)");
}
@Test
public void givenDateMetadataWhenGettingSolrQueryThenQueryIsCorrect() {
assertThat(criterion.getSolrQuery(dateMetadata)).isEqualTo("(dateMetadata_dt:*)");
}
@Test
public void givenNumberMetadataWhenGettingSolrQueryThenQueryIsCorrect() {
assertThat(criterion.getSolrQuery(numberMetadata)).isEqualTo("(numberMetadata_d:*)");
}
}