using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; using WikiWaka.Api.Controllers; using WikiWaka.Api.Models; namespace Tests; [TestClass] public class UnitTest1 { private ContentApiController controller; private DbWikiWakaContext dbContext; [TestInitialize] public async Task TestInit() { SqliteConnection connection = new SqliteConnection("Filename=:memory:"); connection.Open(); var _contextOptions = new DbContextOptionsBuilder() .UseSqlite(connection) .Options; dbContext = new(_contextOptions); await dbContext.Database.EnsureCreatedAsync(); await DbInit.InitializeLanguages(dbContext); controller = new(dbContext); } [TestCleanup] public async Task TestClean() { await dbContext.Database.EnsureDeletedAsync(); await dbContext.DisposeAsync(); } [TestMethod] public async Task TestMethod1() { WikiWaka.Api.Contract.NewContent parameter = new() { Text = "Hello, world", LanguageCode = "en-US", }; Content newContent = await controller.PostContents(parameter); IAsyncEnumerable contents = controller.GetContents(); Content newGetContent = contents.ToBlockingEnumerable().Single(); Assert.AreEqual(parameter.Text, newContent.Properties.Single().Text); Assert.AreEqual(parameter.Text, newGetContent.Properties.Single().Text); } }