1 package com.atlassian.jira.rest.client.api.domain.input;
2
3 import com.atlassian.jira.rest.client.TestUtil;
4 import org.hamcrest.Matchers;
5 import org.junit.Assert;
6 import org.junit.Before;
7 import org.junit.Test;
8
9 import java.net.URI;
10
11 import static com.atlassian.jira.rest.client.api.domain.input.WorklogInput.AdjustEstimate;
12 import static com.atlassian.jira.rest.client.api.domain.input.WorklogInputBuilder.ESTIMATE_UNIT_MINUTES;
13
14 public class WorklogInputBuilderTest {
15
16 private final static URI dummyUri = TestUtil.toUri("http://jira.atlassian.com/");
17
18 private WorklogInputBuilder builder;
19
20 private static String asMinutes(int value) {
21 return value + ESTIMATE_UNIT_MINUTES;
22 }
23
24 @Before
25 public void beforeMethod() {
26 builder = new WorklogInputBuilder(dummyUri);
27 }
28
29 private void testAdjustEstimateImpl(WorklogInputBuilder worklogInputBuilder, String expectedEstimateValue,
30 AdjustEstimate expectedAdjustEstimate) throws Exception {
31
32 final WorklogInput worklogInput = worklogInputBuilder.build();
33
34 Assert.assertThat(worklogInput.getAdjustEstimate(), Matchers.equalTo(expectedAdjustEstimate));
35 Assert.assertThat(worklogInput.getAdjustEstimateValue(), Matchers.equalTo(expectedEstimateValue));
36 }
37
38 @Test
39 public void testSetAdjustEstimateNewMinutes() throws Exception {
40 testAdjustEstimateImpl(builder.setAdjustEstimateNew(12345), asMinutes(12345), AdjustEstimate.NEW);
41 }
42
43 @Test
44 public void testSetAdjustEstimateNew() throws Exception {
45 testAdjustEstimateImpl(builder.setAdjustEstimateNew("1w 2d 3h 5m"), "1w 2d 3h 5m", AdjustEstimate.NEW);
46 }
47
48 @Test
49 public void testSetAdjustEstimateLeave() throws Exception {
50 testAdjustEstimateImpl(builder.setAdjustEstimateLeave(), null, AdjustEstimate.LEAVE);
51 }
52
53 @Test
54 public void testSetAdjustEstimateManualMinutes() throws Exception {
55 testAdjustEstimateImpl(builder.setAdjustEstimateManual(54321), asMinutes(54321), AdjustEstimate.MANUAL);
56 }
57
58 @Test
59 public void testSetAdjustEstimateManual() throws Exception {
60 testAdjustEstimateImpl(builder.setAdjustEstimateManual("1w 2d 3h 5m"), "1w 2d 3h 5m", AdjustEstimate.MANUAL);
61 }
62
63 @Test
64 public void testSetAdjustEstimateAuto() throws Exception {
65 testAdjustEstimateImpl(builder.setAdjustEstimateAuto(), null, AdjustEstimate.AUTO);
66 }
67 }