2

Code of the test target is the following.

- (PMKPromise *)fetchByUserId:(NSString *)userId {
    UserApiClient *user = [UserApiClient new];
    return [user fetchByUserId:userId].then(^(UserEntity *entity) {
      // I want to test here.
      entity.userId = userId;
      return entity;
    });
}

The following is a test code. I want to call then but I couldn't.

- (void)testFetchByUserId {
    id mock = OCMClassMock([UserApiClient class]);
    OCMExpect([mock new]).andReturn(mock);

    __block PMKFulfiller fulfiller;
    PMKPromise* promise = [PMKPromise new:^(PMKFulfiller fulfill, PMKRejecter reject) {
      fulfiller = fulfill;
    }];

    OCMExpect([mock fetchByUserId:@"userId"]).andReturn(promise);

    UserStore* target = [UserStore new];
    [target fetchByUserId:@"userId"];
    fulfiller([UserEntity new]);

    OCMVerifyAll(mock);

    [mock stopMocking];
}

How do I call then?

ko2ic
  • 1,977
  • 14
  • 20

0 Answers0