Skip to content

Commit 669ad41

Browse files
authored
Merge pull request cloudbees-oss#426 from nkharabaruk/update_ticket_form
2 parents 62ab1f4 + 1d0bf9f commit 669ad41

File tree

2 files changed

+73
-22
lines changed

2 files changed

+73
-22
lines changed

src/main/java/org/zendesk/client/v2/Zendesk.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,13 @@ public TicketForm createTicketForm(TicketForm ticketForm) {
251251
Collections.singletonMap("ticket_form", ticketForm))), handle(TicketForm.class, "ticket_form")));
252252
}
253253

254+
public TicketForm updateTicketForm(TicketForm ticketForm) {
255+
checkHasId(ticketForm);
256+
return complete(submit(req("PUT", tmpl("/ticket_forms/{id}.json").set("id", ticketForm.getId()),
257+
JSON, json(Collections.singletonMap("ticket_form", ticketForm))),
258+
handle(TicketForm.class, "ticket_form")));
259+
}
260+
254261
public void deleteTicketForm(TicketForm ticketForm) {
255262
checkHasId(ticketForm);
256263
deleteTicketForm(ticketForm.getId());

src/test/java/org/zendesk/client/v2/RealSmokeTest.java

Lines changed: 66 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
import static org.hamcrest.Matchers.empty;
8383
import static org.hamcrest.Matchers.greaterThan;
8484
import static org.hamcrest.Matchers.hasSize;
85-
import static org.hamcrest.Matchers.isEmptyString;
85+
import static org.hamcrest.Matchers.isEmptyOrNullString;
8686
import static org.hamcrest.Matchers.lessThanOrEqualTo;
8787
import static org.hamcrest.core.StringContains.containsString;
8888
import static org.junit.Assert.assertEquals;
@@ -120,26 +120,26 @@ public class RealSmokeTest {
120120
public static void loadConfig() {
121121
config = ZendeskConfig.load();
122122
assumeThat("We have a configuration", config, notNullValue());
123-
assumeThat("Configuration has an url", config.getProperty("url"), not(isEmptyString()));
123+
assumeThat("Configuration has an url", config.getProperty("url"), not(isEmptyOrNullString()));
124124
Awaitility.setDefaultTimeout(2, TimeUnit.MINUTES);
125125
Awaitility.setDefaultPollDelay(10, TimeUnit.SECONDS);
126126
Awaitility.setDefaultPollInterval(20, TimeUnit.SECONDS);
127127
}
128128

129129
public void assumeHaveToken() {
130-
assumeThat("We have a username", config.getProperty("username"), not(isEmptyString()));
131-
assumeThat("We have a token", config.getProperty("token"), not(isEmptyString()));
130+
assumeThat("We have a username", config.getProperty("username"), not(isEmptyOrNullString()));
131+
assumeThat("We have a token", config.getProperty("token"), not(isEmptyOrNullString()));
132132
}
133133

134134
public void assumeHavePassword() {
135-
assumeThat("We have a username", config.getProperty("username"), not(isEmptyString()));
136-
assumeThat("We have a password", config.getProperty("password"), not(isEmptyString()));
135+
assumeThat("We have a username", config.getProperty("username"), not(isEmptyOrNullString()));
136+
assumeThat("We have a password", config.getProperty("password"), not(isEmptyOrNullString()));
137137
}
138138

139139
public void assumeHaveTokenOrPassword() {
140-
assumeThat("We have a username", config.getProperty("username"), not(isEmptyString()));
141-
assumeThat("We have a token or password", config.getProperty("token") != null || config.getProperty("password") != null, is(
142-
true));
140+
assumeThat("We have a username", config.getProperty("username"), not(isEmptyOrNullString()));
141+
assumeThat("We have a token or password", config.getProperty("token") != null
142+
|| config.getProperty("password") != null, is(true));
143143
}
144144

145145
@After
@@ -1592,29 +1592,45 @@ public void createOrUpdateUser() throws Exception {
15921592
@Test
15931593
public void createTicketForm() throws Exception {
15941594
createClientWithTokenOrPassword();
1595-
TicketForm form = new TicketForm();
1595+
String givenName = "Test create ticket form";
1596+
TicketForm form = newTicketForm(givenName);
15961597
TicketForm createdForm = null;
1597-
form.setActive(true);
1598-
final String givenName = "Test ticket form";
1599-
form.setName(givenName);
1600-
form.setDisplayName(givenName);
1601-
form.setRawName(givenName);
1602-
form.setRawDisplayName(givenName);
16031598
try {
16041599
createdForm = instance.createTicketForm(form);
1605-
assertNotNull(createdForm);
1606-
assertNotNull(createdForm.getId());
1607-
assertEquals(givenName, createdForm.getName());
1608-
assertEquals(givenName, createdForm.getDisplayName());
1609-
assertEquals(givenName, createdForm.getRawName());
1610-
assertEquals(givenName, createdForm.getRawDisplayName());
1600+
checkFields(createdForm, givenName);
16111601
} finally {
16121602
if (createdForm != null) {
16131603
instance.deleteTicketForm(createdForm);
16141604
}
16151605
}
16161606
}
16171607

1608+
@Test
1609+
public void updateTicketForm() throws Exception {
1610+
createClientWithTokenOrPassword();
1611+
1612+
String name1 = "Test update ticket form 1";
1613+
TicketForm form1 = newTicketForm(name1);
1614+
1615+
String name2 = "Test update ticket form 2";
1616+
TicketForm form2 = newTicketForm(name2);
1617+
1618+
TicketForm updatedForm = null;
1619+
try {
1620+
updatedForm = instance.createTicketForm(form1);
1621+
checkFields(updatedForm, name1);
1622+
1623+
form2.setId(updatedForm.getId());
1624+
1625+
updatedForm = instance.updateTicketForm(form2);
1626+
checkFields(updatedForm, name2);
1627+
} finally {
1628+
if (updatedForm != null) {
1629+
instance.deleteTicketForm(updatedForm);
1630+
}
1631+
}
1632+
}
1633+
16181634
@Test
16191635
public void getDynamicContentItems() throws Exception {
16201636
createClientWithTokenOrPassword();
@@ -1944,4 +1960,32 @@ private long[] otherElements(Long[] array) {
19441960
.toArray();
19451961
}
19461962

1963+
/**
1964+
* Creates a new ticket form
1965+
* @param givenName provided name of the form
1966+
* @return created form object
1967+
*/
1968+
private TicketForm newTicketForm(String givenName) {
1969+
TicketForm form = new TicketForm();
1970+
form.setActive(true);
1971+
form.setName(givenName);
1972+
form.setDisplayName(givenName);
1973+
form.setRawName(givenName);
1974+
form.setRawDisplayName(givenName);
1975+
return form;
1976+
}
1977+
1978+
/**
1979+
* Verifies field on the ticket form
1980+
* @param form the ticket form to verify fields in
1981+
* @param name expected name of the form
1982+
*/
1983+
private void checkFields(TicketForm form, String name) {
1984+
assertNotNull(form);
1985+
assertNotNull(form.getId());
1986+
assertEquals(name, form.getName());
1987+
assertEquals(name, form.getDisplayName());
1988+
assertEquals(name, form.getRawName());
1989+
assertEquals(name, form.getRawDisplayName());
1990+
}
19471991
}

0 commit comments

Comments
 (0)