diff --git a/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-shm b/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-shm deleted file mode 100644 index fe9ac28..0000000 Binary files a/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-shm and /dev/null differ diff --git a/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-wal b/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-wal deleted file mode 100644 index e69de29..0000000 diff --git a/Verax_API_EF/Verax_API_EF/Unit_Test_EF/TestsFormEntity.cs b/Verax_API_EF/Verax_API_EF/Unit_Test_EF/TestsFormEntity.cs new file mode 100644 index 0000000..a7cd1f8 --- /dev/null +++ b/Verax_API_EF/Verax_API_EF/Unit_Test_EF/TestsFormEntity.cs @@ -0,0 +1,200 @@ +using DbContextLib; +using Entities; +using Microsoft.Data.Sqlite; +using Microsoft.EntityFrameworkCore; + +namespace Tests; + +public class TestsFormEntity +{ + [Fact] + public void Add_Test() + { + var connection = new SqliteConnection("DataSource=:memory:"); + connection.Open(); + + var options = new DbContextOptionsBuilder() + .UseSqlite(connection) + .Options; + + using (var context = new LibraryContext(options)) + { + context.Database.EnsureCreated(); + UserEntity u1 = new UserEntity + { + Pseudo = "Blizzard", + Prenom = "Louis", + Nom = "Laborie", + Mail = "he@gmail.com", + Mdp = "1234", + Role = "Admin" + }; + FormEntity f1 = new FormEntity + { + Id = 1, + Theme = "theme", + DatePublication = "date", + Link = "link", + UserEntityPseudo = "Blizzard", + User = u1 + }; + FormEntity f2 = new FormEntity + { + Id = 2, + Theme = "theme", + DatePublication = "date", + Link = "link", + UserEntityPseudo = "Blizzard", + User = u1 + }; + FormEntity f3 = new FormEntity + { + Id = 3, + Theme = "theme", + DatePublication = "date", + Link = "link", + UserEntityPseudo = "Blizzard", + User = u1 + }; + context.UserSet.Add(u1); + context.FormSet.Add(f1); + context.FormSet.Add(f2); + context.FormSet.Add(f3); + context.SaveChanges(); + + Assert.Equal(3, context.FormSet.Count()); + Assert.Equal("Blizzard", context.FormSet.First().UserEntityPseudo); + connection.Close(); + } + } + + [Fact] + public void Modify_Test() + { + var connection = new SqliteConnection("DataSource=:memory:"); + connection.Open(); + + var options = new DbContextOptionsBuilder() + .UseSqlite(connection) + .Options; + using (var context = new LibraryContext(options)) + { + context.Database.EnsureCreated(); + UserEntity u1 = new UserEntity + { + Pseudo = "Blizzard", + Prenom = "Louis", + Nom = "Laborie", + Mail = "he@gmail.com", + Mdp = "1234", + Role = "Admin" + }; + FormEntity f1 = new FormEntity + { + Id = 1, + Theme = "theme", + DatePublication = "date", + Link = "link", + UserEntityPseudo = "Blizzard", + User = u1 + }; + FormEntity f2 = new FormEntity + { + Id = 2, + Theme = "theme2", + DatePublication = "date", + Link = "link", + UserEntityPseudo = "Blizzard", + User = u1 + }; + FormEntity f3 = new FormEntity + { + Id = 3, + Theme = "theme3", + DatePublication = "date", + Link = "link", + UserEntityPseudo = "Blizzard", + User = u1 + }; + context.UserSet.Add(u1); + context.FormSet.Add(f1); + context.FormSet.Add(f2); + context.FormSet.Add(f3); + context.SaveChanges(); + + var form = context.FormSet.First(f => f.Id == 1); + form.Theme = "Politique"; + context.SaveChanges(); + string formRemove = "theme"; + string formNew = "Politique"; + Assert.Equal(1, context.FormSet.Count(f => f.Theme == formNew)); + Assert.Equal(0, context.FormSet.Count(f => f.Theme == formRemove)); + connection.Close(); + + } + } + + [Fact] + public void Remove_Test() + { + var connection = new SqliteConnection("DataSource=:memory:"); + connection.Open(); + + var options = new DbContextOptionsBuilder() + .UseSqlite(connection) + .Options; + using (var context = new LibraryContext(options)) + { + context.Database.EnsureCreated(); + UserEntity u1 = new UserEntity + { + Pseudo = "Blizzard", + Prenom = "Louis", + Nom = "Laborie", + Mail = "he@gmail.com", + Mdp = "1234", + Role = "Admin" + }; + FormEntity f1 = new FormEntity + { + Id = 1, + Theme = "theme", + DatePublication = "date", + Link = "link", + UserEntityPseudo = "Blizzard", + User = u1 + }; + FormEntity f2 = new FormEntity + { + Id = 2, + Theme = "theme2", + DatePublication = "date", + Link = "link", + UserEntityPseudo = "Blizzard", + User = u1 + }; + FormEntity f3 = new FormEntity + { + Id = 3, + Theme = "theme3", + DatePublication = "date", + Link = "link", + UserEntityPseudo = "Blizzard", + User = u1 + }; + context.UserSet.Add(u1); + context.FormSet.Add(f1); + context.FormSet.Add(f2); + context.FormSet.Add(f3); + context.SaveChanges(); + + Assert.Equal(3, context.FormSet.Count()); + var form = context.FormSet.First(f => f.Theme == "theme2"); + context.Remove(form); + context.SaveChanges(); + Assert.Equal(2, context.FormSet.Count()); + Assert.Equal(0, context.FormSet.Count(f => f.Theme == "theme2")); + connection.Close(); + } + } +} \ No newline at end of file diff --git a/Verax_API_EF/Verax_API_EF/Unit_Test_EF/Unit_Test_EF.csproj b/Verax_API_EF/Verax_API_EF/Unit_Test_EF/Unit_Test_EF.csproj index 8cbb5d2..2e0344d 100644 --- a/Verax_API_EF/Verax_API_EF/Unit_Test_EF/Unit_Test_EF.csproj +++ b/Verax_API_EF/Verax_API_EF/Unit_Test_EF/Unit_Test_EF.csproj @@ -1,4 +1,4 @@ - + net8.0