using System; using Xunit; using Repositories; using Microsoft.EntityFrameworkCore; using Datamodels.Lookups; using System.Threading.Tasks; using System.Linq; using Datamodels.BusinessModels; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Configuration; using Moq; namespace fwrepo { public class SimpleDbTests { private readonly FwDbContext testdb = new FwDbContext(); private readonly FwMariaLookupRepo repo = new FwMariaLookupRepo(Mock.Of>(), Mock.Of()); [Fact] public void CreateSomeLookupData() { repo.DeleteAllCategories(); var rand = new Random(); int catCount = rand.Next(10, 50); for (int i = 0; i < catCount; i++) { var category = new LookupCategory { CategoryName = $"{i} Category" }; testdb.LookupCategories.Add(category); var valRnd = new Random(); int valCount = valRnd.Next(10,50); for (int x = 0; x < valCount; x++) { testdb.LookupValues.Add(new LookupValue { Value = $"Category { i } - Value {x}", LookupCategory = category }); } } int result = testdb.SaveChanges(); Assert.True(result > 0); } [Fact] public async Task GetAllLookupCategories() { var result = await repo.GetAllLookups(); Assert.NotEmpty(result.Data); Assert.NotEmpty(result.Data.First().LookupValues); } [Fact] public async Task GetLookupCategoryById() { var result = await repo.GetLookupCategoryById(65); Assert.NotNull(result.Data); } [Fact] public async Task GetLookupCategoryByName() { var result = await repo.GetLookupCategoryByName("Category"); Assert.NotEmpty(result.Data); } [Fact] public async Task GetActiveCategories() { var result = await repo.GetActiveLookupCategories(); Assert.NotEmpty(result.Data); } } }