JUnit Help
Hi Team,
Error:
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "this.descriptionView" is null
at com.aem.xxx.core.models.impl.DataCardModelImpl.getRowsDescription(DataCardModelImpl.java:33)
Below are interface, model class and test class respectively. It does not work. May you plese help us out
INTERFACE:
import java.util.List;
public interface DataCardModel {
public List getRowsDescription();
}
Sling MODEL:
@Model(adaptables = {Resource.class},
adapters = DataCardModel.class,
defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL)
public class DataCardModelImpl implements DataCardModel {
@Inject
private int nRowsDescription;
@Inject
@1497330(values = "defaultDescription")
private String descriptionView;
@Inject
@1497330(values = "")
private String dataCardVariation;
@9944223
public List getRowsDescription() {
List nrows = new ArrayList<>();
if (descriptionView.equals("noIconDescription") && dataCardVariation.equals("campodescrizione")) {
nRowsDescription = 1;
}
for (int i = 0; i < nRowsDescription; i++) {
nrows.add(i);
}
return nrows;
}
}
NOW TEST CLASS:
@ExtendWith({AemContextExtension.class, MockitoExtension.class})
class DataCardModelImplTest {
String descriptionView="noIconDescription";
int nRowsDescription;
String dataCardVariation="campodescrizione";
DataCardModel cardModel =new DataCardModelImpl();
@2785667
void testGetRowsDescription() {
List nrows= cardModel.getRowsDescription();
assertEquals(1,nrows.size());
}
}