protected List<Provider> getProviderList(Map<String, String> parameters) throws BadFormDesignException { List<Provider> providerList = new ArrayList<Provider>(); // if no provider roles specified, just return all (non-retired) providers if (!parameters.containsKey("providerRoles")) { providerList = Context.getProviderService().getAllProviders(false); } else { // retrieve the provider roles referenced in the tag List providerRoles = new ArrayList(); for (String providerRoleId : parameters.get("providerRoles").split(",")) { Object providerRole = HtmlFormEntryUtil.getProviderRole(providerRoleId.trim()); if (providerRole == null) { throw new BadFormDesignException("No provider role found with id or uuid " + providerRoleId.trim()); } providerRoles.add(providerRole); } providerList = HtmlFormEntryUtil.getProviders(providerRoles); } return providerList; } }
@Test @Ignore public void getProviders_shouldReturnEmptyListIfPassedEmptyList() { List<Provider> providers = HtmlFormEntryUtil.getProviders(new ArrayList<ProviderRole>()); assertThat(providers.size(), is(0)); }
@Test @Ignore public void getProviders_shouldReturnEmptyListIfPassedNull() { List<Provider> providers = HtmlFormEntryUtil.getProviders(null); assertThat(providers.size(), is(0)); }
@Test @Ignore public void getProviders_shouldReturnEmptyListIfNoMatches() { ProviderRole providerRole = Context.getService(ProviderManagementService.class).getProviderRole(1004); List<Provider> providers = HtmlFormEntryUtil.getProviders(Collections.singletonList(providerRole)); assertThat(providers.size(), is(0)); }
@Test @Ignore public void getProviders_shouldReturnProvidersForMultipleRole() { List<ProviderRole> providerRoles = new ArrayList<ProviderRole>(); providerRoles.add(Context.getService(ProviderManagementService.class).getProviderRole(1001)); providerRoles.add(Context.getService(ProviderManagementService.class).getProviderRole(1002)); List<Provider> providers = HtmlFormEntryUtil.getProviders(providerRoles); assertThat(providers.size(), is(4)); List<Integer> resultProviderIds = Arrays.asList(1003,1004,1005, 1006); for (Provider provider : providers) { assertTrue(resultProviderIds.contains(provider.getId())); } }
@Test @Ignore public void getProviders_shouldReturnProvidersForSingleRole() { ProviderRole providerRole = Context.getService(ProviderManagementService.class).getProviderRole(1002); List<Provider> providers = HtmlFormEntryUtil.getProviders(Collections.singletonList(providerRole)); assertThat(providers.size(), is(1)); assertThat(providers.get(0).getId(), is(1006)); }