package controllers.functional;
import static org.fest.assertions.Assertions.assertThat;
import static play.test.Helpers.*;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
import controllers.routes;
import play.libs.F.Callback;
import play.test.TestBrowser;
public class ProposalSubmissionTest {
@Test
public void proposalSubmissionFlow() {
Map<String, Object> dbSettings = new HashMap<String, Object>();
dbSettings.put("db.default.url", "jdbc:mysql://localhost:3306/playconftest");
running(testServer(3333, fakeApplication(dbSettings)), HTMLUNIT, new Callback<TestBrowser>() {
@Override
public void invoke(TestBrowser browser) throws Throwable {
browser.goTo("http://localhost:3333" + routes.Application.newProposal().url());
assertThat(browser.title()).isEqualTo("PlayConf 2014 - Submit new talk");
browser.fill("#title").with("This is a test play presentation");
browser.fill("#proposal").with("This presention is going to talk about testing in play");
browser.fill("#speaker_name").with("Nilanjan Raychaudhuri");
browser.fill("#speaker_email").with("nilanjan@typesafe.com");
browser.fill("#speaker_bio").with("Developer/Consultant/Author and overall nice guy");
browser.fill("#speaker_pictureUrl").with("mug shot");
browser.fill("#speaker_twitterId").with("nraychaudhuri");
browser.submit("#submitForm");
assertThat(browser.findFirst("#message").getText()).isEqualTo("Thanks for submitting a proposal");
}
});
}
}