package hudson.plugins.cigame;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.jvnet.hudson.test.HudsonTestCase;
import org.jvnet.hudson.test.recipes.LocalData;
import com.gargoylesoftware.htmlunit.html.HtmlButton;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
public class GameDescriptorIntegrationTest extends HudsonTestCase {
public void testThatSettingCaseInsensitiveFlagWorks() throws Exception {
GameDescriptor descriptor = hudson.getDescriptorByType(GameDescriptor.class);
WebClient webClient = new WebClient();
webClient.setThrowExceptionOnScriptError(false);
HtmlForm form = webClient.goTo("configure").getFormByName("config");
assertThat(form.getInputByName("_.namesAreCaseSensitive").isChecked(), is(true));
form.getInputByName("_.namesAreCaseSensitive").setChecked(false);
form.submit((HtmlButton)last(form.getHtmlElementsByTagName("button")));
assertThat(descriptor.getNamesAreCaseSensitive(), is(false));
form = webClient.goTo("configure").getFormByName("config");
assertThat(form.getInputByName("_.namesAreCaseSensitive").isChecked(), is(false));
form.getInputByName("_.namesAreCaseSensitive").setChecked(true);
form.submit((HtmlButton)last(form.getHtmlElementsByTagName("button")));
assertThat(descriptor.getNamesAreCaseSensitive(), is(true));
}
@LocalData
public void testLoadingCaseInsensitiveFlagWorks() throws Exception {
GameDescriptor descriptor = hudson.getDescriptorByType(GameDescriptor.class);
assertThat(descriptor.getNamesAreCaseSensitive(), is(false));
HtmlForm form = new WebClient().goTo("configure").getFormByName("config");
assertThat(form.getInputByName("_.namesAreCaseSensitive").isChecked(), is(false));
}
}