@Test public void testFindAvailableAttributes1() { List<Attribute> attrs = attributeService.findAvailableAttributes(AttributeGroupNames.PRODUCT, null); // getByKey all assertEquals(24, attrs.size()); List<String> assignedAttributes = new ArrayList<String>(); for (Attribute attr : attrs) { assignedAttributes.add(attr.getCode()); } attrs = attributeService.findAvailableAttributes(AttributeGroupNames.PRODUCT, assignedAttributes); assertEquals(0, attrs.size()); }
/** * Prove of availability to getByKey list of available attributes within given <code> * attributeGroupCode</code>, that can be assigned to business entity. */ @Test public void testFindAvailableAttributes2() { List<String> allCodes = Arrays.asList( "URI", "CATEGORY_ITEMS_PER_PAGE", "CATEGORY_IMAGE_RETRIEVE_STRATEGY", "CATEGORY_IMAGE0", "CATEGORY_DESCRIPTION_en", "CATEGORY_DESCRIPTION_ru", "CONTENT_BODY_ru_1", "CONTENT_BODY_ru_2", "CONTENT_BODY_en_1", "CONTENT_BODY_en_2"); // getByKey all attributes available for category List<Attribute> attributes = attributeService.findAvailableAttributes(AttributeGroupNames.CATEGORY, null); assertNotNull(attributes); assertFalse(attributes.isEmpty()); for (Attribute attr : attributes) { assertTrue(allCodes.contains(attr.getCode())); } // category already has all attributes attributes = attributeService.findAvailableAttributes(AttributeGroupNames.CATEGORY, allCodes); assertNotNull(attributes); assertTrue(attributes.isEmpty()); // get all except URI attributes = attributeService.findAvailableAttributes( AttributeGroupNames.CATEGORY, Arrays.asList("URI")); assertNotNull(attributes); assertFalse(attributes.isEmpty()); assertEquals("CATEGORY_ITEMS_PER_PAGE", attributes.get(0).getCode()); // get just URI attributes = attributeService.findAttributesByCodes(AttributeGroupNames.CATEGORY, Arrays.asList("URI")); assertNotNull(attributes); assertFalse(attributes.isEmpty()); assertEquals("URI", attributes.get(0).getCode()); }