Skip to content

Commit f50c954

Browse files
committed
Implement test for FeatureProposalController's Reject method
1 parent ae81b1c commit f50c954

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

src/test/java/edu/tamu/app/controller/FeatureProposalControllerTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.springframework.messaging.simp.SimpMessagingTemplate;
2424
import org.springframework.test.context.junit4.SpringRunner;
2525

26+
import edu.tamu.app.enums.FeatureProposalState;
2627
import edu.tamu.app.enums.Status;
2728
import edu.tamu.app.exception.UserNotFoundException;
2829
import edu.tamu.app.model.FeatureProposal;
@@ -52,15 +53,19 @@ public class FeatureProposalControllerTest {
5253
private static final String TEST_MODIFIED_FEATURE_PROPOSAL_TITLE = "Modified Feature Proposal Title";
5354
private static final String TEST_MODIFIED_FEATURE_PROPOSAL_DESCRIPTION = "Modified Feature Proposal Description";
5455
private static final String TEST_SERVICE_NAME = "Test Service";
56+
private static final String TEST_FEEDBACK = "Test Rejection Feedback";
5557

5658
private static Service TEST_SERVICE = new Service(TEST_SERVICE_NAME, Status.UP, false, true, true, "", "");
5759
private static FeatureProposal TEST_FEATURE_PROPOSAL1 = new FeatureProposal(TEST_FEATURE_PROPOSAL_TITLE1, TEST_FEATURE_PROPOSAL_DESCRIPTION1, TEST_USER1);
5860
private static FeatureProposal TEST_FEATURE_PROPOSAL2 = new FeatureProposal(TEST_FEATURE_PROPOSAL_TITLE2, TEST_FEATURE_PROPOSAL_DESCRIPTION2, TEST_USER1);
5961
private static FeatureProposal TEST_FEATURE_PROPOSAL3 = new FeatureProposal(TEST_FEATURE_PROPOSAL_TITLE3, TEST_FEATURE_PROPOSAL_DESCRIPTION3, TEST_USER1);
6062
private static FeatureProposal TEST_MODIFIED_FEATURE_PROPOSAL = new FeatureProposal(TEST_MODIFIED_FEATURE_PROPOSAL_TITLE, TEST_MODIFIED_FEATURE_PROPOSAL_DESCRIPTION, TEST_USER2, TEST_SERVICE);
63+
private static FeatureProposal featureProposalWithFeedback = new FeatureProposal(TEST_FEATURE_PROPOSAL_TITLE1, TEST_FEATURE_PROPOSAL_DESCRIPTION1, TEST_USER1);
6164
private static List<FeatureProposal> mockFeatureProposalList = new ArrayList<FeatureProposal>(Arrays.asList(new FeatureProposal[] { TEST_FEATURE_PROPOSAL1, TEST_FEATURE_PROPOSAL2, TEST_FEATURE_PROPOSAL3 }));
6265
private static Page<FeatureProposal> mockPageableFeatureProposalList = new PageImpl<FeatureProposal>(Arrays.asList(new FeatureProposal[] { TEST_FEATURE_PROPOSAL1, TEST_FEATURE_PROPOSAL2, TEST_FEATURE_PROPOSAL3 }));
6366

67+
private FeatureProposal rejectedFeatureProposal = new FeatureProposal(TEST_FEATURE_PROPOSAL_TITLE1, TEST_FEATURE_PROPOSAL_DESCRIPTION1, TEST_USER1);
68+
6469
private static User user = new User("123456789");
6570

6671
private static ApiResponse response;
@@ -86,6 +91,8 @@ public class FeatureProposalControllerTest {
8691
@Before
8792
@SuppressWarnings("unchecked")
8893
public void setup() throws UserNotFoundException {
94+
rejectedFeatureProposal.setState(FeatureProposalState.REJECTED);
95+
featureProposalWithFeedback.setFeedback(TEST_FEEDBACK);
8996
MockitoAnnotations.initMocks(this);
9097
when(credentials.getUin()).thenReturn("123456789");
9198
when(userRepo.findByUsername(any(String.class))).thenReturn(Optional.of(user));
@@ -141,6 +148,14 @@ public void testUpdate() {
141148
assertEquals("Notification Author was not properly updated", TEST_MODIFIED_FEATURE_PROPOSAL.getAuthor(), featureProposal.getAuthor());
142149
}
143150

151+
@Test
152+
public void testReject() {
153+
response = featureProposalController.reject(featureProposalWithFeedback);
154+
assertEquals("Not successful at rejecting feature proposal", SUCCESS, response.getMeta().getStatus());
155+
FeatureProposal featureProposal = (FeatureProposal) response.getPayload().get("FeatureProposal");
156+
assertEquals("State was not set to Rejected", rejectedFeatureProposal.getState(), featureProposal.getState());
157+
}
158+
144159
@Test
145160
public void testRemove() {
146161
response = featureProposalController.remove(TEST_MODIFIED_FEATURE_PROPOSAL);

0 commit comments

Comments
 (0)