package cucumber.examples.spring.txn; import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; import static org.hamcrest.CoreMatchers.containsString; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @WebAppConfiguration @ContextConfiguration("classpath:cucumber.xml") public class SeeMessagesStepdefs { @Autowired private UserRepository userRepository; @Autowired private MessageRepository messageRepository; @Autowired private MockMvc mockMvc; private User user; private ResultActions resultActions; @Given("^there is a User$") public void there_is_a_User() { user = userRepository.save(new User("John Doe")); } @Given("^the User has posted the message \"([^\"]*)\"$") public void the_User_has_posted_the_message(String content) { messageRepository.save(new Message(user, content)); } @When("^I visit the page for the User$") public void I_visit_the_page_for_the_User() throws Exception { resultActions = mockMvc .perform(get("/users/" + user.getId())) .andExpect(status().isOk()); } @Then("^I should see \"([^\"]*)\"$") public void I_should_see(String content) throws Exception { resultActions.andExpect(content().string(containsString(content))); } }