@Test
public void should_return_list_of_asset_needed_by_widgets_in_tabscontainer_plus_uibootstrap_which_is_needed_by_tabscontainer() throws Exception {

    Component component1 = mockComponentFor(aWidget(), UUID.randomUUID().toString(), anAsset().withName("myfile.js").withType(AssetType.JAVASCRIPT));
    Component component2 = mockComponentFor(aWidget(), UUID.randomUUID().toString(), anAsset().withName("myfile.css").withType(AssetType.CSS));
    when(widgetRepository.get("pbTabsContainer")).thenReturn(aWidget().assets(anAsset().withName("bootstrap.min.js").withType(AssetType.JAVASCRIPT)).build());
    when(widgetRepository.get("pbContainer")).thenReturn(aWidget().build());
    Set<Asset> assets = assetVisitor.visit(aTabsContainer().with(
            aTabContainer().withId("Tab 1").with(aContainer().with(component1)),
            aTabContainer().withId("Tab 2").with(aContainer().with(component2))).build());
    assertThat(assets).extracting("name").containsOnly("myfile.js", "myfile.css", "bootstrap.min.js");
    assertThat(assets.iterator().next().getComponentId()).isNotEmpty();
}