public void delete(RequestEntity request) { mContentResolver.delete( Requests.CONTENT_URI, Requests.COL_REQUEST_ID + " = ?", new String[] {request.getId()} ); }
private RequestEntity getRequestById(@NonNull List<RequestEntity> requests, String id) { for (RequestEntity requestEntity : requests) { if (requestEntity.getId().equals(id)) { return requestEntity; } } return null; }
@Override public void onRequestClicked(RequestEntity request) { RequestDetailsFragment fragment = RequestDetailsFragment.newInstance(request.getId()); mFragmentHelper.replaceFragment(fragment); }
/** * @return list containing IDs of all processed requests */ private List<String> updateOrInsertRequestSchemes(List<RequestScheme> requestSchemes) { mLogger.d(TAG, "updateOrInsertRequestSchemes() called"); List<String> processedRequestIds = new ArrayList<>(requestSchemes.size()); for (RequestScheme requestScheme : requestSchemes) { RequestEntity request = convertSchemeToRequest(requestScheme); request = addReverseGeocodedLocation(request); mRequestsCacher.updateOrInsert(request); processedRequestIds.add(request.getId()); } return processedRequestIds; }
public void updateWithPossibleIdChange(RequestEntity request, String currentRequestId) { mLogger.d(TAG, "updateWithPossibleIdChange() called; current request ID: " + request.getId()); // TODO: make operations atomic ContentValues cv = requestEntityToContentValues(request); int updateCount = mContentResolver.update( Requests.CONTENT_URI, cv, Requests.COL_REQUEST_ID + " = ?", new String[] {currentRequestId} ); if (updateCount <= 0) { throw new RuntimeException("no entries updateWithPossibleIdChange"); } }
public void addNewRequest(final RequestEntity newRequest) { mLogger.d(TAG, "addNewRequest(); request ID: " + newRequest.getId()); final CreateRequestUserActionEntity createRequestUserAction = new CreateRequestUserActionEntity( newRequest.getCreatedAt(), newRequest.getId(), newRequest.getCreatedBy()); mBackgroundThreadPoster.post(new Runnable() { @Override public void run() { // TODO: ensure atomicity of below actions using TransactionController mUserActionCacher.cacheUserAction(createRequestUserAction); mRequestsCacher.updateOrInsertAndNotify(newRequest); } }); }
@Test(expected = IllegalArgumentException.class) public void applyUserActionToRequest_closeRequestUserActionOnNewRequest_exceptionThrown() { // Arrange String userId = "testUserId"; String closedComment = "closed comment"; List<String> closedPictures = Arrays.asList("picture1", "picture2"); RequestEntity requestEntity = RequestEntityProvider.getNewRequestEntity(); UserActionEntity closeUserAction = mUserActionEntityFactory.newCloseRequest( requestEntity.getId(), userId, closedComment, closedPictures); // Act SUT.applyUserActionToRequest(closeUserAction, requestEntity); // Assert }
@Test(expected = IllegalArgumentException.class) public void applyUserActionToRequest_closeRequestUserActionOnClosedRequest_exceptionThrown() { // Arrange String userId = "testUserId"; String closedComment = "closed comment"; List<String> closedPictures = Arrays.asList("picture1", "picture2"); RequestEntity requestEntity = RequestEntityProvider.getClosedRequestEntity(); UserActionEntity closeUserAction = mUserActionEntityFactory.newCloseRequest( requestEntity.getId(), userId, closedComment, closedPictures); // Act SUT.applyUserActionToRequest(closeUserAction, requestEntity); // Assert }
@Test(expected = IllegalArgumentException.class) public void applyUserActionToRequest_voteDownForClosedUserActionOnNonClosedRequest_exceptionThrown() { // Arrange RequestEntity requestEntity = RequestEntityProvider.getPickedUpRequestEntity(); UserActionEntity voteDownClosedEntity = mUserActionEntityFactory.newVoteDownForRequestClosed(requestEntity.getId()); // Act SUT.applyUserActionToRequest(voteDownClosedEntity, requestEntity); // Assert }
@Test(expected = IllegalArgumentException.class) public void applyUserActionToRequest_voteUpForClosedUserActionOnNonClosedRequest_exceptionThrown() { // Arrange RequestEntity requestEntity = RequestEntityProvider.getPickedUpRequestEntity(); UserActionEntity voteDownClosedEntity = mUserActionEntityFactory.newVoteUpForRequestClosed(requestEntity.getId()); // Act SUT.applyUserActionToRequest(voteDownClosedEntity, requestEntity); // Assert }
@Test(expected = IllegalArgumentException.class) public void applyUserActionToRequest_userActionAffectsOtherRequest_exceptionThrown() { // Arrange RequestEntity requestEntity = RequestEntityProvider.getClosedRequestEntity(); UserActionEntity dummyUserAction = mUserActionEntityFactory.newVoteUpForRequestCreated(requestEntity.getId() + 1); // Act SUT.applyUserActionToRequest(dummyUserAction, requestEntity); // Assert }
@Test(expected = IllegalArgumentException.class) public void applyUserActionToRequest_pickUpRequestUserActionOnPickedUpRequest_exceptionThrown() { // Arrange String userId = "testUserId"; RequestEntity requestEntity = RequestEntityProvider.getPickedUpRequestEntity(); UserActionEntity pickupUserAction = mUserActionEntityFactory.newPickUpRequest(requestEntity.getId(), userId); // Act SUT.applyUserActionToRequest(pickupUserAction, requestEntity); // Assert }
@Test public void applyUserActionToRequest_voteUpForCreatedUserAction_requestAffected() throws Exception { // Arrange RequestEntity requestEntity = RequestEntityProvider.getClosedRequestEntity(); UserActionEntity voteUpCreatedEntity = mUserActionEntityFactory.newVoteUpForRequestCreated(requestEntity.getId()); // Act RequestEntity resultRequestEntity = SUT.applyUserActionToRequest(voteUpCreatedEntity, requestEntity); // Assert assertThat(resultRequestEntity.getCreatedVotes(), is(RequestEntityProvider.REQUEST_CREATED_VOTES + 1)); }
@Test public void applyUserActionToRequest_voteUpForClosedUserAction_requestAffected() throws Exception { // Arrange RequestEntity requestEntity = RequestEntityProvider.getClosedRequestEntity(); UserActionEntity voteUpClosedEntity = mUserActionEntityFactory.newVoteUpForRequestClosed(requestEntity.getId()); // Act RequestEntity resultRequestEntity = SUT.applyUserActionToRequest(voteUpClosedEntity, requestEntity); // Assert assertThat(resultRequestEntity.getClosedVotes(), is(RequestEntityProvider.REQUEST_CLOSED_VOTES + 1)); }
@Test public void applyUserActionToRequest_voteDownForCreatedUserAction_requestAffected() throws Exception { // Arrange RequestEntity requestEntity = RequestEntityProvider.getClosedRequestEntity(); UserActionEntity voteDownCreatedEntity = mUserActionEntityFactory.newVoteDownForRequestCreated(requestEntity.getId()); // Act RequestEntity resultRequestEntity = SUT.applyUserActionToRequest(voteDownCreatedEntity, requestEntity); // Assert assertThat(resultRequestEntity.getCreatedVotes(), is(RequestEntityProvider.REQUEST_CREATED_VOTES -1)); }
@Test public void applyUserActionToRequest_voteDownForClosedUserAction_requestAffected() throws Exception { // Arrange RequestEntity requestEntity = RequestEntityProvider.getClosedRequestEntity(); UserActionEntity voteDownClosedEntity = mUserActionEntityFactory.newVoteDownForRequestClosed(requestEntity.getId()); // Act RequestEntity resultRequestEntity = SUT.applyUserActionToRequest(voteDownClosedEntity, requestEntity); // Assert assertThat(resultRequestEntity.getClosedVotes(), is(RequestEntityProvider.REQUEST_CLOSED_VOTES - 1)); }
@Test public void addNewRequest_createRequestUserActionCached() { // Arrange RequestEntity newRequest = RequestEntityProvider.getNewRequestEntity(); // Act SUT.addNewRequest(newRequest); // Assert mThreadPostersTestDouble.join(); CreateRequestUserActionEntity expectedUserAction = new CreateRequestUserActionEntity(newRequest.getCreatedAt(), newRequest.getId(), newRequest.getCreatedBy()); verify(mUserActionCacherMock).cacheUserAction(mUserActionsCaptor.capture()); UserActionEntity cachedUserAction = mUserActionsCaptor.getValue(); assertUserActionsEqual(cachedUserAction, expectedUserAction); }
@Test public void applyUserActionToRequest_pickUpRequestUserActionOnNewRequest_requestAffected() { // Arrange String userId = "testUserId"; RequestEntity originalRequestEntity = RequestEntityProvider.getNewRequestEntity(); UserActionEntity pickupUserAction = mUserActionEntityFactory.newPickUpRequest(originalRequestEntity.getId(), userId); // Act RequestEntity resultRequestEntity = SUT.applyUserActionToRequest(pickupUserAction, originalRequestEntity); // Assert assertThat(resultRequestEntity.getPickedUpBy(), is(userId)); assertThat(resultRequestEntity.getPickedUpAt(), is(DEFAULT_TIMESTAMP)); }
@Test public void applyUserActionToRequest_createRequestUserAction_sameRequestReturned() { // Arrange String userId = "testUserId"; RequestEntity originalRequestEntity = RequestEntityProvider.getNewRequestEntity(); UserActionEntity pickupUserAction = mUserActionEntityFactory.newCreateRequest(originalRequestEntity.getId(), userId); // Act RequestEntity resultRequestEntity = SUT.applyUserActionToRequest(pickupUserAction, originalRequestEntity); // Assert assertTrue(resultRequestEntity == originalRequestEntity); } }