final JSONObject jsonReq = new JSONObject();
jsonReq.accumulate("followedBy", entityAcctName);
final List<Long> followedGroups = Arrays.asList(1L, 2L, 3L);
DomainGroupModelView group1 = new DomainGroupModelView();
group1.setEntityId(1L);
group1.setStreamId(4L);
DomainGroupModelView group2 = new DomainGroupModelView();
group2.setEntityId(2L);
group2.setStreamId(5L);
DomainGroupModelView group3 = new DomainGroupModelView();
group3.setEntityId(3L);
group3.setStreamId(6L);
final List<DomainGroupModelView> groups = Arrays.asList(group1, group2, group3);
context.checking(new Expectations()
{
{
oneOf(getPersonIdByAccountId).execute(entityAcctName);
will(returnValue(entityId));
oneOf(followeGroupsMapper).execute(entityId);
will(returnValue(followedGroups));
oneOf(groupMapper).execute(followedGroups);
will(returnValue(groups));
}
});
GetAllFollowedByActivityIdsRequest result = (GetAllFollowedByActivityIdsRequest) sut.transform(jsonReq,
entityId);
Assert.assertEquals(Arrays.asList(group1.getStreamId(), group2.getStreamId(), group3.getStreamId()), result
.getGroupStreamIds());
Assert.assertEquals(entityId, result.getUserId());
context.assertIsSatisfied();