function it_build_a_plan(Plan $plan, TrainingTypeManager $trainingTypeManager, WeekBuilder $weekBuilder, Week $week, AbstractSession $session) { $plan->getTrainingType()->willReturn(10); $plan->getNbWeek()->willReturn(1); $plan->getWeekType()->willReturn('week_3'); $week->getSessions()->willReturn(array($session)); $weekBuilder->build('week_3', 10)->willReturn($week); $plan->addWeek($week)->shouldBeCalled(); $trainingTypeManager->findAll()->willReturn(array(10, 21, 42)); $this->build($plan); }