@Override public void onClosedVoteDownClicked() { voteForRequest(mUserActionEntityFactory.newVoteDownForRequestClosed(mRequestId)); }
@Override public void onCreatedVoteDownClicked() { voteForRequest(mUserActionEntityFactory.newVoteDownForRequestCreated(mRequestId)); }
@Override public void onClosedVoteUpClicked() { voteForRequest(mUserActionEntityFactory.newVoteUpForRequestClosed(mRequestId)); }
rawRequests.add(initiallyPickedUpRequest); CloseRequestUserActionEntity closePickedUp = mUserActionEntityFactory.newCloseRequest( initiallyPickedUpRequest.getId(), TEST_USER_ID, "closed_comment", Arrays.asList("one", "two")); PickUpRequestUserActionEntity pickUpNew = mUserActionEntityFactory.newPickUpRequest(initiallyNewRequest.getId(), TEST_USER_ID); VoteForRequestUserActionEntity voteForClosed = mUserActionEntityFactory.newVoteUpForRequestClosed(initiallyClosedRequest.getId());
mUserActionEntityFactory.newCloseRequest(mRequestId, closedBy, closedComment, closedPictures);
@Override public void onCreatedVoteUpClicked() { voteForRequest(mUserActionEntityFactory.newVoteUpForRequestCreated(mRequestId)); }
private void pickupRequest() { // TODO: request pickup should be allowed only when there is a network connection final String pickedUpBy = mLoginStateManager.getLoggedInUser().getUserId(); // If no logged in user - ask him to log in and rerun this method in case he does if (TextUtils.isEmpty(pickedUpBy)) { askUserToLogIn(); return; } PickUpRequestUserActionEntity pickUpRequestUserAction = mUserActionEntityFactory.newPickUpRequest(mRequestId, pickedUpBy); mUserActionsManager.addUserActionAndNotify( pickUpRequestUserAction, new UserActionsManager.UserActionsManagerListener() { @Override public void onUserActionAdded(UserActionEntity userAction) { refreshRequest(); // Request pickup is time critical action - need to be uploaded to the server ASAP mRequestsManager.syncRequestsFromServer(); } }); }
public VoteForRequestUserActionEntity newVoteUpForRequestCreated(String requestId) { return new VoteForRequestUserActionEntity( getDateTime(), requestId, VoteForRequestUserActionEntity.VOTE_UP_CREATED); }
@Provides UserActionEntityFactory userActionEntityFactory() { return new UserActionEntityFactory(); }
@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); } }
@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_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 }
public PickUpRequestUserActionEntity newPickUpRequest(String requestId, String pickedUpByUserId) { return new PickUpRequestUserActionEntity( getDateTime(), requestId, pickedUpByUserId); }
@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_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_voteDownForClosedUserActionOnNonClosedRequest_exceptionThrown() { // Arrange RequestEntity requestEntity = RequestEntityProvider.getPickedUpRequestEntity(); UserActionEntity voteDownClosedEntity = mUserActionEntityFactory.newVoteDownForRequestClosed(requestEntity.getId()); // Act SUT.applyUserActionToRequest(voteDownClosedEntity, 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_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_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)); }