package com.smartcodeltd.jenkinsci.plugins.buildmonitor.viewmodel.syntacticsugar; import com.google.common.base.Supplier; import com.smartcodeltd.jenkinsci.plugins.buildmonitor.Config; import com.smartcodeltd.jenkinsci.plugins.buildmonitor.facade.RelativeLocation; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class Sugar { public static JobViewRecipe jobView() { return new JobViewRecipe(); } public static JobStateRecipe job() { return new JobStateRecipe(); } public static BuildStateRecipe build() { return new BuildStateRecipe(); } public static BadgeRecipe badge() { return new BadgeRecipe(); } public static <X> X a(Supplier<X> recipe) { return recipe.get(); } public static <X> X with(Supplier<X> recipe) { return recipe.get(); } // Recipes needed as these get more complex.. public static RelativeLocation locatedAt(String url) { RelativeLocation location = mock(RelativeLocation.class); when(location.url()).thenReturn(url); return location; } public static Config withDefaultConfig() { return new ConfigStateRecipe().get(); } }