1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
/*
* Created on Jun 8, 2011
*
* PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
*/
package org.eclipse.osee.ats.core.review;
import java.util.Arrays;
import junit.framework.Assert;
import org.eclipse.osee.ats.core.AtsTestUtil;
import org.eclipse.osee.ats.core.team.TeamWorkFlowArtifact;
import org.eclipse.osee.ats.core.type.AtsAttributeTypes;
import org.eclipse.osee.ats.core.util.AtsUtilCore;
import org.eclipse.osee.ats.core.workdef.PeerReviewDefinition;
import org.eclipse.osee.ats.core.workdef.ReviewBlockType;
import org.eclipse.osee.ats.core.workdef.StateDefinition;
import org.eclipse.osee.ats.core.workdef.StateEventType;
import org.eclipse.osee.ats.core.workflow.transition.TestTransitionHelper;
import org.eclipse.osee.ats.core.workflow.transition.TransitionManager;
import org.eclipse.osee.ats.core.workflow.transition.TransitionOption;
import org.eclipse.osee.ats.core.workflow.transition.TransitionResults;
import org.eclipse.osee.framework.core.enums.SystemUser;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.transaction.SkynetTransaction;
import org.junit.AfterClass;
import org.junit.BeforeClass;
/**
* Test unit for {@link PeerReviewDefinitionManager}
*
* @author Donald G. Dunne
*/
public class PeerReviewDefinitionManagerTest extends PeerReviewDefinitionManager {
@BeforeClass
@AfterClass
public static void cleanup() throws Exception {
AtsTestUtil.cleanup();
}
@org.junit.Test
public void testCreatePeerReviewDuringTransition() throws OseeCoreException {
AtsTestUtil.cleanupAndReset("PeerReviewDefinitionManagerTest");
// configure WorkDefinition to create a new Review on transition to Implement
StateDefinition implement = AtsTestUtil.getImplementStateDef();
PeerReviewDefinition revDef = new PeerReviewDefinition("Create New on Implement");
revDef.setBlockingType(ReviewBlockType.Transition);
revDef.setDescription("the description");
revDef.setRelatedToState(implement.getPageName());
revDef.setStateEventType(StateEventType.TransitionTo);
revDef.setReviewTitle("This is my review title");
revDef.getAssignees().add(SystemUser.UnAssigned.getUserId());
implement.getPeerReviews().add(revDef);
TeamWorkFlowArtifact teamArt = AtsTestUtil.getTeamWf();
Assert.assertEquals("No reviews should be present", 0, ReviewManager.getReviews(teamArt).size());
SkynetTransaction transaction = new SkynetTransaction(AtsUtilCore.getAtsBranch(), getClass().getSimpleName());
TestTransitionHelper helper =
new TestTransitionHelper(getClass().getSimpleName(), Arrays.asList(teamArt), implement.getPageName(),
Arrays.asList(UserManager.getUser()), null, TransitionOption.None);
TransitionManager transMgr = new TransitionManager(helper, transaction);
TransitionResults results = transMgr.handleAll();
transaction.execute();
Assert.assertTrue(results.toString(), results.isEmpty());
Assert.assertEquals("One review should be present", 1, ReviewManager.getReviews(teamArt).size());
PeerToPeerReviewArtifact decArt = (PeerToPeerReviewArtifact) ReviewManager.getReviews(teamArt).iterator().next();
Assert.assertEquals(PeerToPeerReviewState.Prepare.getPageName(), decArt.getCurrentStateName());
Assert.assertEquals("UnAssigned", decArt.getStateMgr().getAssigneesStr());
Assert.assertEquals(ReviewBlockType.Transition.name(),
decArt.getSoleAttributeValue(AtsAttributeTypes.ReviewBlocks));
Assert.assertEquals("This is my review title", decArt.getName());
Assert.assertEquals("the description", decArt.getSoleAttributeValue(AtsAttributeTypes.Description));
Assert.assertEquals(implement.getPageName(), decArt.getSoleAttributeValue(AtsAttributeTypes.RelatedToState));
AtsTestUtil.validateArtifactCache();
}
}
|