diff options
Diffstat (limited to 'Tests/UnitTest1.cs')
-rw-r--r-- | Tests/UnitTest1.cs | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Tests/UnitTest1.cs b/Tests/UnitTest1.cs new file mode 100644 index 0000000..3e4dc64 --- /dev/null +++ b/Tests/UnitTest1.cs @@ -0,0 +1,52 @@ +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<DbWikiWakaContext>()
+ .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<Content> contents = controller.GetContents();
+ Content newGetContent = contents.ToBlockingEnumerable().Single();
+
+ Assert.AreEqual(parameter.Text, newContent.Properties.Single().Text);
+ Assert.AreEqual(parameter.Text, newGetContent.Properties.Single().Text);
+ }
+}
|