/** * @return true if this request has already been closed */ public boolean isClosed() { return getClosedBy() != null && !getClosedBy().isEmpty(); }
private void refreshUsers() { if (mRequest == null) { // request's info hasn't been fetched yet - users info can't be refreshed return; } List<String> usersIds = new ArrayList<>(3); usersIds.add(mRequest.getCreatedBy()); String pickedUpBy = mRequest.getPickedUpBy(); String closedBy = mRequest.getClosedBy(); if (pickedUpBy != null && !pickedUpBy.isEmpty()) { usersIds.add(pickedUpBy); } if (closedBy != null && !closedBy.isEmpty()) { usersIds.add(closedBy); } mUsersManager.fetchUsersByIdAndNotify(usersIds, this); }
private ContentValues requestEntityToContentValues(RequestEntity requestEntity) { ContentValues values = new ContentValues(); values.put(Requests.COL_REQUEST_ID, requestEntity.getId()); values.put(Requests.COL_CREATED_BY, requestEntity.getCreatedBy()); values.put(Requests.COL_CREATED_AT, requestEntity.getCreatedAt()); values.put(Requests.COL_CREATED_COMMENT, requestEntity.getCreatedComment()); values.put(Requests.COL_CREATED_PICTURES, StringUtils.listToCommaSeparatedString(requestEntity.getCreatedPictures())); values.put(Requests.COL_CREATED_VOTES, requestEntity.getCreatedVotes()); values.put(Requests.COL_LATITUDE, requestEntity.getLatitude()); values.put(Requests.COL_LONGITUDE, requestEntity.getLongitude()); values.put(Requests.COL_PICKED_UP_BY, requestEntity.getPickedUpBy()); values.put(Requests.COL_PICKED_UP_AT, requestEntity.getPickedUpAt()); values.put(Requests.COL_CLOSED_BY, requestEntity.getClosedBy()); values.put(Requests.COL_CLOSED_AT, requestEntity.getClosedAt()); values.put(Requests.COL_CLOSED_COMMENT, requestEntity.getClosedComment()); values.put(Requests.COL_CLOSED_PICTURES, StringUtils.listToCommaSeparatedString(requestEntity.getClosedPictures())); values.put(Requests.COL_CLOSED_VOTES, requestEntity.getClosedVotes()); values.put(Requests.COL_LOCATION, requestEntity.getLocation()); return values; }
private RequestEntity closeRequest(CloseRequestUserActionEntity closeRequestUserAction, RequestEntity requestEntity) { if (requestEntity.getClosedBy() != null && !requestEntity.getClosedBy().isEmpty()) { throw new IllegalArgumentException("request already closed"); } if (requestEntity.getPickedUpBy() == null || requestEntity.getPickedUpBy().isEmpty()) { throw new IllegalArgumentException("request is not picked up"); } if (!requestEntity.getPickedUpBy().equals(closeRequestUserAction.getClosedByUserId())) { throw new IllegalArgumentException("closing user must be the same who picked up"); } return RequestEntity.getBuilder(requestEntity) .setClosedBy(closeRequestUserAction.getClosedByUserId()) .setClosedAt(String.valueOf(closeRequestUserAction.getDatetime())) .setClosedComment(closeRequestUserAction.getClosedComment()) .setClosedPictures(closeRequestUserAction.getClosedPictures()) .build(); }
@Override public void onUsersFetched(List<UserEntity> users) { mLogger.d(TAG, "onUsersFetched() called"); for (UserEntity user : users) { // one user can have multiple "roles" if (user.getUserId().equals(mRequest.getCreatedBy())) { mRequestDetailsViewMvc.bindCreatedByUser(user); } if (user.getUserId().equals(mRequest.getPickedUpBy())) { mRequestDetailsViewMvc.bindPickedUpByUser(user); } if (user.getUserId().equals(mRequest.getClosedBy())) { mRequestDetailsViewMvc.bindClosedByUser(user); } } } }
@Test public void applyUserActionToRequest_closeRequestUserActionOnPickedUpRequest_requestAffected() { // Arrange String userId = RequestEntityProvider.REQUEST_PICKED_UP_BY; String closedComment = "closed comment"; List<String> closedPictures = Arrays.asList("picture1", "picture2"); RequestEntity originalRequestEntity = RequestEntityProvider.getPickedUpRequestEntity(); UserActionEntity closeUserAction = mUserActionEntityFactory.newCloseRequest( originalRequestEntity.getId(), userId, closedComment, closedPictures); // Act RequestEntity resultRequestEntity = SUT.applyUserActionToRequest(closeUserAction, originalRequestEntity); // Assert assertThat(resultRequestEntity.getClosedBy(), is(userId)); assertThat(resultRequestEntity.getClosedAt(), is(DEFAULT_TIMESTAMP)); assertThat(resultRequestEntity.getClosedComment(), is(closedComment)); assertEquals(resultRequestEntity.getClosedPictures(), closedPictures); assertThat(resultRequestEntity.getClosedVotes(), is(0)); }
private void assertRequestsEqual(RequestEntity actual, RequestEntity expected) { assertThat(actual.getId(), is(expected.getId())); assertThat(actual.getCreatedBy(), is(expected.getCreatedBy())); assertThat(actual.getCreatedAt(), is(expected.getCreatedAt())); assertThat(actual.getCreatedComment(), is(expected.getCreatedComment())); assertEquals(actual.getCreatedPictures(), expected.getCreatedPictures()); assertThat(actual.getCreatedVotes(), is(expected.getCreatedVotes())); assertThat(actual.getLatitude(), is(expected.getLatitude())); assertThat(actual.getLongitude(), is(expected.getLongitude())); assertThat(actual.getPickedUpBy(), is(expected.getPickedUpBy())); assertThat(actual.getPickedUpAt(), is(expected.getPickedUpAt())); assertThat(actual.getClosedBy(), is(expected.getClosedBy())); assertThat(actual.getClosedAt(), is(expected.getClosedAt())); assertThat(actual.getClosedComment(), is(expected.getClosedComment())); assertEquals(actual.getClosedPictures(), expected.getClosedPictures()); assertThat(actual.getClosedVotes(), is(expected.getClosedVotes())); assertThat(actual.getLocation(), is(expected.getLocation())); } }
private void assertRequestsEqual(RequestEntity request1, RequestEntity request2) { assertThat(request1.getId(), is(request2.getId())); assertThat(request1.getCreatedBy(), is(request2.getCreatedBy())); assertThat(request1.getCreatedAt(), is(request2.getCreatedAt())); assertThat(request1.getCreatedComment(), is(request2.getCreatedComment())); assertThat(request1.getCreatedVotes(), is(request2.getCreatedVotes())); assertEquals(request1.getCreatedPictures(), request2.getCreatedPictures()); assertThat(request1.getLatitude(), is(request2.getLatitude())); assertThat(request1.getLongitude(), is(request2.getLongitude())); assertThat(request1.getLocation(), is(request2.getLocation())); assertThat(request1.getPickedUpBy(), is(request2.getPickedUpBy())); assertThat(request1.getPickedUpAt(), is(request2.getPickedUpAt())); assertThat(request1.getClosedBy(), is(request2.getClosedBy())); assertThat(request1.getClosedAt(), is(request2.getClosedAt())); assertThat(request1.getClosedComment(), is(request2.getClosedComment())); assertThat(request1.getClosedVotes(), is(request2.getClosedVotes())); assertEquals(request1.getClosedPictures(), request2.getClosedPictures()); assertThat(request1.getId(), is(request2.getId())); assertThat(request1.getId(), is(request2.getId())); }