package com.thoughtworks.gauge.language.psi.impl;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiReference;
import com.thoughtworks.gauge.helper.ModuleHelper;
import com.thoughtworks.gauge.reference.StepReference;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class SpecStepImplTest {
@Test
public void testShouldGetReferenceInGaugeModule() throws Exception {
ModuleHelper helper = mock(ModuleHelper.class);
ASTNode node = mock(ASTNode.class);
SpecStepImpl specStep = new SpecStepImpl(node, helper);
when(helper.isGaugeModule(specStep)).thenReturn(true);
PsiReference reference = specStep.getReference();
assertEquals(reference.getClass(), StepReference.class);
}
@Test
public void testShouldNotGetReferenceInNonGaugeModule() throws Exception {
ModuleHelper helper = mock(ModuleHelper.class);
ASTNode node = mock(ASTNode.class);
SpecStepImpl specStep = new SpecStepImpl(node, helper);
when(helper.isGaugeModule(specStep)).thenReturn(false);
PsiReference reference = specStep.getReference();
assertNull(reference);
}
}