I am working on a new controller method that calls Context.updateSearchIndex()
, and I would like to write a unit test for when Context.updateSearchIndex()
throws an exception. Is there an example in the openmrs codebase of a way to intercept a Context static method and throw an exception or otherwise set the outcome?
Hi Clif,
Take a look at this:
In particular, look at how Context.getAuthenticatedUser()
is mocked to set
the outcome.
mockStatic(Context.class);
when(Context.getAuthenticatedUser()).thenReturn(new User());
1 Like
https://wiki.openmrs.org/display/docs/Mock+Doc explains a cleaner approach.
To mock Context.updateSearchIndex()
which delegates to getContextDAO().updateSearchIndex()
you simply mock contextDAO and call Context.setDAO(mockedContextDAO)
.
1 Like
Thanks to both of you for your replies. They were helpful.
1 Like