public class GlobalNavigationAction implements NavigationAction {
+ private static final String ANONYMOUS = null;
+
private final ActiveDashboardDao activeDashboardDao;
private final Views views;
private final Settings settings;
UserSession userSession = UserSession.get();
List<DashboardDto> dashboards = activeDashboardDao.selectGlobalDashboardsForUserLogin(userSession.login());
+ if (dashboards.isEmpty()) {
+ dashboards = activeDashboardDao.selectGlobalDashboardsForUserLogin(ANONYMOUS);
+ }
JsonWriter json = response.newJsonWriter().beginObject();
writeDashboards(json, dashboards);
wsTester.newGetRequest("api/navigation", "global").execute().assertJson(getClass(), "user.json");
}
+ @Test
+ public void nominal_call_for_user_without_configured_dashboards() throws Exception {
+ nominalSetup();
+
+ MockUserSession.set().setLogin("anakin");
+
+ wsTester.newGetRequest("api/navigation", "global").execute().assertJson(getClass(), "anonymous.json");
+ }
+
private void nominalSetup() {
createAndConfigureDashboardForUser();
createAndConfigureDashboardForAnonymous();