private void setupUserGroup() throws NonUniqueBusinessKeyException, ObjectNotFoundException { org = Organizations.createOrganization(mgr, OrganizationRoleType.PLATFORM_OPERATOR); assertNotNull("organization expected", org); userGroup = new UserGroup(); userGroup.setName("group1"); userGroup.setDescription("group1 description"); userGroup.setReferenceId("group1 reference Id"); userGroup.setIsDefault(true); userGroup.setOrganization(org); mgr.persist(userGroup); }
@Before public void setup() throws Exception { ds = mock(DataService.class); pt = new PaymentType(); pt.setPaymentTypeId(PaymentType.INVOICE); pt.setKey(12345); Organization op = new Organization(); op.setOrganizationId(OrganizationRoleType.PLATFORM_OPERATOR.name()); supplier = new Organization(); supplier.setOrganizationId("supplier"); Organizations.grantOrganizationRole(supplier, OrganizationRoleType.SUPPLIER); reseller = new Organization(); reseller.setOrganizationId("reseller"); Organizations.grantOrganizationRole(reseller, OrganizationRoleType.RESELLER); OrganizationReference ref = OrganizationReferences.addReference( op, supplier, OrganizationReferenceType.PLATFORM_OPERATOR_TO_SUPPLIER); OrganizationReferences.enablePayment(ref, pt) .setOrganizationRole(new OrganizationRole(OrganizationRoleType.SUPPLIER)); ref = OrganizationReferences.addReference( op, reseller, OrganizationReferenceType.PLATFORM_OPERATOR_TO_RESELLER); OrganizationReferences.enablePayment(ref, pt) .setOrganizationRole(new OrganizationRole(OrganizationRoleType.RESELLER)); customer = new Organization(); customer.setOrganizationId("customer"); noCustomer = new Organization(); noCustomer.setOrganizationId("noCustomer"); ref = OrganizationReferences.addReference( supplier, customer, OrganizationReferenceType.SUPPLIER_TO_CUSTOMER); OrganizationReferences.enablePayment(ref, pt); ref = OrganizationReferences.addReference( reseller, customer, OrganizationReferenceType.RESELLER_TO_CUSTOMER); OrganizationReferences.enablePayment(ref, pt); product = new Product(); product.setKey(9876); product.setVendor(supplier); product.setType(ServiceType.TEMPLATE); product.setPaymentTypes(Arrays.asList(new ProductToPaymentType(product, pt))); pcf = new PaymentConfigurationFilter(ds); user = new PlatformUser(); user.setOrganization(supplier); when(ds.getCurrentUser()).thenReturn(user); when(ds.getReference(eq(Product.class), eq(product.getKey()))).thenReturn(product); when(ds.getReference(eq(Product.class), eq(PROD_NOT_FOUND_KEY))) .thenThrow(new ObjectNotFoundException(ClassEnum.SERVICE, "product")); when(ds.getReferenceByBusinessKey(any(DomainObject.class))) .thenAnswer( new Answer<DomainObject<?>>() { public DomainObject<?> answer(InvocationOnMock invocation) throws Throwable { Object object = invocation.getArguments()[0]; if (object instanceof Organization) { Organization o = (Organization) object; if (customer.getOrganizationId().equals(o.getOrganizationId())) { return customer; } if (noCustomer.getOrganizationId().equals(o.getOrganizationId())) { return noCustomer; } throw new ObjectNotFoundException(ClassEnum.ORGANIZATION, o.getOrganizationId()); } throw new ObjectNotFoundException( ClassEnum.ORGANIZATION, object.getClass().getName()); } }); }