using System.Threading.Tasks; using Shouldly; using Volo.Abp.Modularity; using Xunit; namespace Volo.CmsKit.Menus { public abstract class MenuRepository_Test : CmsKitTestBase where TStartupModule : IAbpModule { private readonly CmsKitTestData testData; private readonly IMenuRepository menuRepository; public MenuRepository_Test() { testData = GetRequiredService(); menuRepository = GetRequiredService(); } [Fact] public async Task GetMainMenuAsync_ShouldWorkProperly() { var mainMenu = await menuRepository.FindMainMenuAsync(); mainMenu.ShouldNotBeNull(); mainMenu.Id.ShouldBe(testData.Menu_1_Id); } [Fact] public async Task GetMainMenuAsync_ShouldWorkProperly_WithIncludeDetails() { var mainMenu = await menuRepository.FindMainMenuAsync(includeDetails: true); mainMenu.ShouldNotBeNull(); mainMenu.Id.ShouldBe(testData.Menu_1_Id); mainMenu.Items.ShouldNotBeEmpty(); mainMenu.Items.Count.ShouldBe(2); } [Fact] public async Task GetCurrentAndNextMainMenusAsync_ShouldWorkProperly() { var menus = await menuRepository.GetCurrentAndNextMainMenusAsync( testData.Menu_2_Id); menus.ShouldNotBeEmpty(); menus.Count.ShouldBe(2); } } }