private void givenStoryWithNoBeforeOrAfterSteps( Story story, boolean givenStory, StepCollector collector, CandidateSteps mySteps) { List<Step> steps = asList(); when(collector.collectBeforeOrAfterStorySteps(asList(mySteps), story, Stage.BEFORE, givenStory)) .thenReturn(steps); when(collector.collectBeforeOrAfterStorySteps(asList(mySteps), story, Stage.AFTER, givenStory)) .thenReturn(steps); }
@Test public void shouldRunBeforeAndAfterStorySteps() throws Throwable { // Given StoryReporter reporter = mock(ConcurrentStoryReporter.class); Step beforeStep = mockSuccessfulStep("beforeStep"); Step afterStep = mockSuccessfulStep("secondStep"); StepCollector collector = mock(StepCollector.class); FailureStrategy strategy = mock(FailureStrategy.class); CandidateSteps mySteps = new Steps(); Story story = new Story(); boolean givenStory = false; when(collector.collectBeforeOrAfterStorySteps(asList(mySteps), story, Stage.BEFORE, givenStory)) .thenReturn(asList(beforeStep)); when(collector.collectBeforeOrAfterStorySteps(asList(mySteps), story, Stage.AFTER, givenStory)) .thenReturn(asList(afterStep)); // When StoryRunner runner = new StoryRunner(); runner.run(configurationWith(reporter, collector, strategy), asList(mySteps), story); // Then verify(beforeStep).perform(null); verify(afterStep).perform(null); }