/** Tests the transformation. */
  @Test
  public void transformTestMatchingId() {
    final Long entityId = 10L;
    final String entityAcctName = "acctName";

    final JSONObject jsonReq = new JSONObject();
    jsonReq.accumulate("joinedGroups", 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));
          }
        });

    Assert.assertEquals(
        Arrays.asList(group1.getStreamId(), group2.getStreamId(), group3.getStreamId()),
        sut.transform(jsonReq, entityId));

    context.assertIsSatisfied();
  }
  /** Tests the transformation. */
  @Test
  public void transformTestNotMatchingId() {
    final Long entityId = 10L;
    final String entityAcctName = "acctName";

    final JSONObject jsonReq = new JSONObject();
    jsonReq.accumulate("joinedGroups", entityAcctName);

    context.checking(
        new Expectations() {
          {
            oneOf(getPersonIdByAccountId).execute(entityAcctName);
            will(returnValue(entityId - 1L));
          }
        });

    List<Long> groups = (List<Long>) sut.transform(jsonReq, entityId);
    Assert.assertEquals(0, groups.size());

    context.assertIsSatisfied();
  }