From 80de049dc3ef995e4f68f794627a5040a1efc470 Mon Sep 17 00:00:00 2001 From: "Johnny.Ratton" Date: Sun, 17 Mar 2024 11:31:32 +0100 Subject: [PATCH] Augmentation du coverage pour tous les DataService de DbDataManager --- .../TestEF/Service/TestInquiryDataService.cs | 53 ++++- .../TestEF/Service/TestLessonDataService.cs | 82 ++++++- .../Service/TestParagraphDataService.cs | 219 +++++++++++++++++- .../TestEF/Service/TestSuccessDataService.cs | 77 +++++- 4 files changed, 427 insertions(+), 4 deletions(-) diff --git a/API_SQLuedo/TestEF/Service/TestInquiryDataService.cs b/API_SQLuedo/TestEF/Service/TestInquiryDataService.cs index d1fe4f4..1a6fb96 100644 --- a/API_SQLuedo/TestEF/Service/TestInquiryDataService.cs +++ b/API_SQLuedo/TestEF/Service/TestInquiryDataService.cs @@ -25,7 +25,7 @@ public class TestInquiryDataService } [Fact] - public void GetInquiries_ReturnsCorrectNumberOfInquiries() + public void GetInquiries_WithNoneCriteria_ReturnsCorrectNumberOfInquiries() { _dbContext.Inquiries.Add(new InquiryEntity { Id = 1, Title = "Test1", Description = "Desc1", IsUser = true }); _dbContext.Inquiries.Add(new InquiryEntity { Id = 2, Title = "Test2", Description = "Desc2", IsUser = false }); @@ -36,6 +36,45 @@ public class TestInquiryDataService Assert.Equal(2, result.Count()); } + + [Fact] + public void GetInquiries_OrderedByTitle_ReturnsCorrectNumberOfInquiries() + { + _dbContext.Inquiries.Add(new InquiryEntity { Id = 1, Title = "Test1", Description = "Desc1", IsUser = true }); + _dbContext.Inquiries.Add(new InquiryEntity { Id = 2, Title = "Test2", Description = "Desc2", IsUser = false }); + _dbContext.Inquiries.Add(new InquiryEntity { Id = 3, Title = "Test3", Description = "Desc3", IsUser = true }); + _dbContext.SaveChanges(); + + var result = _inquiryDataService.GetInquiries(1, 2, InquiryOrderCriteria.ByTitle); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetInquiries_OrderedByDescription_ReturnsCorrectNumberOfInquiries() + { + _dbContext.Inquiries.Add(new InquiryEntity { Id = 1, Title = "Test1", Description = "Desc1", IsUser = true }); + _dbContext.Inquiries.Add(new InquiryEntity { Id = 2, Title = "Test2", Description = "Desc2", IsUser = false }); + _dbContext.Inquiries.Add(new InquiryEntity { Id = 3, Title = "Test3", Description = "Desc3", IsUser = true }); + _dbContext.SaveChanges(); + + var result = _inquiryDataService.GetInquiries(1, 2, InquiryOrderCriteria.ByDescription); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetInquiries_OrderedByIsUser_ReturnsCorrectNumberOfInquiries() + { + _dbContext.Inquiries.Add(new InquiryEntity { Id = 1, Title = "Test1", Description = "Desc1", IsUser = true }); + _dbContext.Inquiries.Add(new InquiryEntity { Id = 2, Title = "Test2", Description = "Desc2", IsUser = false }); + _dbContext.Inquiries.Add(new InquiryEntity { Id = 3, Title = "Test3", Description = "Desc3", IsUser = true }); + _dbContext.SaveChanges(); + + var result = _inquiryDataService.GetInquiries(1, 2, InquiryOrderCriteria.ByIsUser); + + Assert.Equal(2, result.Count()); + } [Fact] public void GetInquiryById_ReturnsCorrectInquiry() @@ -104,6 +143,18 @@ public class TestInquiryDataService Assert.Equal(2, result.Count()); } + + [Fact] + public void GetInquiries_WithBadNumber_ReturnsClassicInquiries() + { + _dbContext.Inquiries.Add(new InquiryEntity { Id = 1, Title = "Test1", Description = "Desc1", IsUser = true }); + _dbContext.Inquiries.Add(new InquiryEntity { Id = 2, Title = "Test2", Description = "Desc2", IsUser = false }); + _dbContext.SaveChanges(); + + var result = _inquiryDataService.GetInquiries(1, -42, InquiryOrderCriteria.None); + + Assert.Equal(2, result.Count()); + } [Fact] public void GetInquiryById_WithoutId_ThrowsException() diff --git a/API_SQLuedo/TestEF/Service/TestLessonDataService.cs b/API_SQLuedo/TestEF/Service/TestLessonDataService.cs index 386d007..a0de30f 100644 --- a/API_SQLuedo/TestEF/Service/TestLessonDataService.cs +++ b/API_SQLuedo/TestEF/Service/TestLessonDataService.cs @@ -25,7 +25,7 @@ public class TestLessonDataService } [Fact] - public void GetLessons_ReturnsCorrectNumberOfLessons() + public void GetLessons_WithNoneCriteria_ReturnsCorrectNumberOfLessons() { _dbContext.Lessons.Add(new LessonEntity { Id = 1, Title = "Test1", LastPublisher = "Publisher1", LastEdit = DateOnly.MinValue }); @@ -39,6 +39,86 @@ public class TestLessonDataService Assert.Equal(2, result.Count()); } + + [Fact] + public void GetLessons_OrderedByTitle_ReturnsCorrectNumberOfLessons() + { + _dbContext.Lessons.Add(new LessonEntity + { Id = 1, Title = "Test1", LastPublisher = "Publisher1", LastEdit = DateOnly.MinValue }); + _dbContext.Lessons.Add(new LessonEntity + { Id = 2, Title = "Test2", LastPublisher = "Publisher2", LastEdit = DateOnly.MinValue }); + _dbContext.Lessons.Add(new LessonEntity + { Id = 3, Title = "Test3", LastPublisher = "Publisher3", LastEdit = DateOnly.MinValue }); + _dbContext.SaveChanges(); + + var result = _lessonDataService.GetLessons(1, 2, LessonOrderCriteria.ByTitle); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetLessons_OrderedByLastPublisher_ReturnsCorrectNumberOfLessons() + { + _dbContext.Lessons.Add(new LessonEntity + { Id = 1, Title = "Test1", LastPublisher = "Publisher1", LastEdit = DateOnly.MinValue }); + _dbContext.Lessons.Add(new LessonEntity + { Id = 2, Title = "Test2", LastPublisher = "Publisher2", LastEdit = DateOnly.MinValue }); + _dbContext.Lessons.Add(new LessonEntity + { Id = 3, Title = "Test3", LastPublisher = "Publisher3", LastEdit = DateOnly.MinValue }); + _dbContext.SaveChanges(); + + var result = _lessonDataService.GetLessons(1, 2, LessonOrderCriteria.ByLastPublisher); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetLessons_OrderedByLastEdit_ReturnsCorrectNumberOfLessons() + { + _dbContext.Lessons.Add(new LessonEntity + { Id = 1, Title = "Test1", LastPublisher = "Publisher1", LastEdit = DateOnly.MinValue }); + _dbContext.Lessons.Add(new LessonEntity + { Id = 2, Title = "Test2", LastPublisher = "Publisher2", LastEdit = DateOnly.MinValue }); + _dbContext.Lessons.Add(new LessonEntity + { Id = 3, Title = "Test3", LastPublisher = "Publisher3", LastEdit = DateOnly.MinValue }); + _dbContext.SaveChanges(); + + var result = _lessonDataService.GetLessons(1, 2, LessonOrderCriteria.ByLastEdit); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetLessons_WithBadPage_ReturnsCorrectNumberOfLessons() + { + _dbContext.Lessons.Add(new LessonEntity + { Id = 1, Title = "Test1", LastPublisher = "Publisher1", LastEdit = DateOnly.MinValue }); + _dbContext.Lessons.Add(new LessonEntity + { Id = 2, Title = "Test2", LastPublisher = "Publisher2", LastEdit = DateOnly.MinValue }); + _dbContext.Lessons.Add(new LessonEntity + { Id = 3, Title = "Test3", LastPublisher = "Publisher3", LastEdit = DateOnly.MinValue }); + _dbContext.SaveChanges(); + + var result = _lessonDataService.GetLessons(-42, 2, LessonOrderCriteria.None); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetLessons_WithBadNumber_ReturnsCorrectNumberOfLessons() + { + _dbContext.Lessons.Add(new LessonEntity + { Id = 1, Title = "Test1", LastPublisher = "Publisher1", LastEdit = DateOnly.MinValue }); + _dbContext.Lessons.Add(new LessonEntity + { Id = 2, Title = "Test2", LastPublisher = "Publisher2", LastEdit = DateOnly.MinValue }); + _dbContext.Lessons.Add(new LessonEntity + { Id = 3, Title = "Test3", LastPublisher = "Publisher3", LastEdit = DateOnly.MinValue }); + _dbContext.SaveChanges(); + + var result = _lessonDataService.GetLessons(1, -42, LessonOrderCriteria.None); + + Assert.Equal(3, result.Count()); + } [Fact] public void GetLessonById_ReturnsCorrectLesson() diff --git a/API_SQLuedo/TestEF/Service/TestParagraphDataService.cs b/API_SQLuedo/TestEF/Service/TestParagraphDataService.cs index b7a6538..a160d25 100644 --- a/API_SQLuedo/TestEF/Service/TestParagraphDataService.cs +++ b/API_SQLuedo/TestEF/Service/TestParagraphDataService.cs @@ -30,7 +30,7 @@ public class TestParagraphDataService } [Fact] - public void GetParagraphs_ReturnsCorrectNumberOfParagraphs() + public void GetParagraphs_WithoutCriteria_ReturnsCorrectNumberOfParagraphs() { _dbContext.Lessons.Add(_lesson); _dbContext.SaveChanges(); @@ -59,6 +59,223 @@ public class TestParagraphDataService Assert.Equal(2, result.Count()); } + + [Fact] + public void GetParagraphs_OrderdByTitle_ReturnsCorrectNumberOfParagraphs() + { + _dbContext.Lessons.Add(_lesson); + _dbContext.SaveChanges(); + + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 1, ContentContent = "ContentContent1", ContentTitle = "ContentTitle1", Title = "Test1", + Content = "Content1", Info = "Info1", Query = "Query1", Comment = "Comment1", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 2, ContentContent = "ContentContent2", ContentTitle = "ContentTitl2", Title = "Test2", + Content = "Content2", Info = "Info2", Query = "Query2", Comment = "Comment2", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 3, ContentContent = "ContentContent3", ContentTitle = "ContentTitle3", Title = "Test3", + Content = "Content3", Info = "Info3", Query = "Query3", Comment = "Comment3", + LessonId = 1 + }); + _dbContext.SaveChanges(); + + var result = _paragraphDataService.GetParagraphs(1, 2, ParagraphOrderCriteria.ByTitle); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetParagraphs_OrderedByContent_ReturnsCorrectNumberOfParagraphs() + { + _dbContext.Lessons.Add(_lesson); + _dbContext.SaveChanges(); + + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 1, ContentContent = "ContentContent1", ContentTitle = "ContentTitle1", Title = "Test1", + Content = "Content1", Info = "Info1", Query = "Query1", Comment = "Comment1", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 2, ContentContent = "ContentContent2", ContentTitle = "ContentTitl2", Title = "Test2", + Content = "Content2", Info = "Info2", Query = "Query2", Comment = "Comment2", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 3, ContentContent = "ContentContent3", ContentTitle = "ContentTitle3", Title = "Test3", + Content = "Content3", Info = "Info3", Query = "Query3", Comment = "Comment3", + LessonId = 1 + }); + _dbContext.SaveChanges(); + + var result = _paragraphDataService.GetParagraphs(1, 2, ParagraphOrderCriteria.ByContent); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetParagraphs_OrderedByQuery_ReturnsCorrectNumberOfParagraphs() + { + _dbContext.Lessons.Add(_lesson); + _dbContext.SaveChanges(); + + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 1, ContentContent = "ContentContent1", ContentTitle = "ContentTitle1", Title = "Test1", + Content = "Content1", Info = "Info1", Query = "Query1", Comment = "Comment1", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 2, ContentContent = "ContentContent2", ContentTitle = "ContentTitl2", Title = "Test2", + Content = "Content2", Info = "Info2", Query = "Query2", Comment = "Comment2", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 3, ContentContent = "ContentContent3", ContentTitle = "ContentTitle3", Title = "Test3", + Content = "Content3", Info = "Info3", Query = "Query3", Comment = "Comment3", + LessonId = 1 + }); + _dbContext.SaveChanges(); + + var result = _paragraphDataService.GetParagraphs(1, 2, ParagraphOrderCriteria.ByQuery); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetParagraphs_OrderedByInfo_ReturnsCorrectNumberOfParagraphs() + { + _dbContext.Lessons.Add(_lesson); + _dbContext.SaveChanges(); + + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 1, ContentContent = "ContentContent1", ContentTitle = "ContentTitle1", Title = "Test1", + Content = "Content1", Info = "Info1", Query = "Query1", Comment = "Comment1", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 2, ContentContent = "ContentContent2", ContentTitle = "ContentTitl2", Title = "Test2", + Content = "Content2", Info = "Info2", Query = "Query2", Comment = "Comment2", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 3, ContentContent = "ContentContent3", ContentTitle = "ContentTitle3", Title = "Test3", + Content = "Content3", Info = "Info3", Query = "Query3", Comment = "Comment3", + LessonId = 1 + }); + _dbContext.SaveChanges(); + + var result = _paragraphDataService.GetParagraphs(1, 2, ParagraphOrderCriteria.ByInfo); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetParagraphs_OrderedByComment_ReturnsCorrectNumberOfParagraphs() + { + _dbContext.Lessons.Add(_lesson); + _dbContext.SaveChanges(); + + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 1, ContentContent = "ContentContent1", ContentTitle = "ContentTitle1", Title = "Test1", + Content = "Content1", Info = "Info1", Query = "Query1", Comment = "Comment1", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 2, ContentContent = "ContentContent2", ContentTitle = "ContentTitl2", Title = "Test2", + Content = "Content2", Info = "Info2", Query = "Query2", Comment = "Comment2", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 3, ContentContent = "ContentContent3", ContentTitle = "ContentTitle3", Title = "Test3", + Content = "Content3", Info = "Info3", Query = "Query3", Comment = "Comment3", + LessonId = 1 + }); + _dbContext.SaveChanges(); + + var result = _paragraphDataService.GetParagraphs(1, 2, ParagraphOrderCriteria.ByComment); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetParagraphs_WithBadPage_ReturnsCorrectNumberOfParagraphs() + { + _dbContext.Lessons.Add(_lesson); + _dbContext.SaveChanges(); + + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 1, ContentContent = "ContentContent1", ContentTitle = "ContentTitle1", Title = "Test1", + Content = "Content1", Info = "Info1", Query = "Query1", Comment = "Comment1", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 2, ContentContent = "ContentContent2", ContentTitle = "ContentTitl2", Title = "Test2", + Content = "Content2", Info = "Info2", Query = "Query2", Comment = "Comment2", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 3, ContentContent = "ContentContent3", ContentTitle = "ContentTitle3", Title = "Test3", + Content = "Content3", Info = "Info3", Query = "Query3", Comment = "Comment3", + LessonId = 1 + }); + _dbContext.SaveChanges(); + + var result = _paragraphDataService.GetParagraphs(-42, 2, ParagraphOrderCriteria.None); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetParagraphs_WithBadNumber_ReturnsCorrectNumberOfParagraphs() + { + _dbContext.Lessons.Add(_lesson); + _dbContext.SaveChanges(); + + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 1, ContentContent = "ContentContent1", ContentTitle = "ContentTitle1", Title = "Test1", + Content = "Content1", Info = "Info1", Query = "Query1", Comment = "Comment1", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 2, ContentContent = "ContentContent2", ContentTitle = "ContentTitl2", Title = "Test2", + Content = "Content2", Info = "Info2", Query = "Query2", Comment = "Comment2", + LessonId = 1 + }); + _dbContext.Paragraphs.Add(new ParagraphEntity + { + Id = 3, ContentContent = "ContentContent3", ContentTitle = "ContentTitle3", Title = "Test3", + Content = "Content3", Info = "Info3", Query = "Query3", Comment = "Comment3", + LessonId = 1 + }); + _dbContext.SaveChanges(); + + var result = _paragraphDataService.GetParagraphs(1, -42, ParagraphOrderCriteria.None); + + Assert.Equal(3, result.Count()); + } [Fact] public void GetParagraphById_ReturnsCorrectParagraph() diff --git a/API_SQLuedo/TestEF/Service/TestSuccessDataService.cs b/API_SQLuedo/TestEF/Service/TestSuccessDataService.cs index eb0aa7e..4c2ce59 100644 --- a/API_SQLuedo/TestEF/Service/TestSuccessDataService.cs +++ b/API_SQLuedo/TestEF/Service/TestSuccessDataService.cs @@ -83,7 +83,7 @@ public class TestSuccessDataService } [Fact] - public void GetSuccesses_ReturnsCorrectNumberOfSuccesses() + public void GetSuccesses_WithoutCriteria_ReturnsCorrectNumberOfSuccesses() { var success1 = new SuccessEntity { UserId = 1, InquiryId = 1, IsFinished = true }; var success2 = new SuccessEntity { UserId = 2, InquiryId = 2, IsFinished = false }; @@ -96,6 +96,81 @@ public class TestSuccessDataService Assert.Equal(2, result.Count()); } + + [Fact] + public void GetSuccesses_OrderedByUserId_ReturnsCorrectNumberOfSuccesses() + { + var success1 = new SuccessEntity { UserId = 1, InquiryId = 1, IsFinished = true }; + var success2 = new SuccessEntity { UserId = 2, InquiryId = 2, IsFinished = false }; + var success3 = new SuccessEntity { UserId = 3, InquiryId = 3, IsFinished = true }; + + _dbContext.Successes.AddRange(success1, success2, success3); + _dbContext.SaveChanges(); + + var result = _successDataService.GetSuccesses(1, 2, SuccessOrderCriteria.ByUserId); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetSuccesses_OrderedByInquiryId_ReturnsCorrectNumberOfSuccesses() + { + var success1 = new SuccessEntity { UserId = 1, InquiryId = 1, IsFinished = true }; + var success2 = new SuccessEntity { UserId = 2, InquiryId = 2, IsFinished = false }; + var success3 = new SuccessEntity { UserId = 3, InquiryId = 3, IsFinished = true }; + + _dbContext.Successes.AddRange(success1, success2, success3); + _dbContext.SaveChanges(); + + var result = _successDataService.GetSuccesses(1, 2, SuccessOrderCriteria.ByInquiryId); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetSuccesses_OrderedByIsFinished_ReturnsCorrectNumberOfSuccesses() + { + var success1 = new SuccessEntity { UserId = 1, InquiryId = 1, IsFinished = true }; + var success2 = new SuccessEntity { UserId = 2, InquiryId = 2, IsFinished = false }; + var success3 = new SuccessEntity { UserId = 3, InquiryId = 3, IsFinished = true }; + + _dbContext.Successes.AddRange(success1, success2, success3); + _dbContext.SaveChanges(); + + var result = _successDataService.GetSuccesses(1, 2, SuccessOrderCriteria.ByIsFinished); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetSuccesses_WithBadPage_ReturnsCorrectNumberOfSuccesses() + { + var success1 = new SuccessEntity { UserId = 1, InquiryId = 1, IsFinished = true }; + var success2 = new SuccessEntity { UserId = 2, InquiryId = 2, IsFinished = false }; + var success3 = new SuccessEntity { UserId = 3, InquiryId = 3, IsFinished = true }; + + _dbContext.Successes.AddRange(success1, success2, success3); + _dbContext.SaveChanges(); + + var result = _successDataService.GetSuccesses(-42, 2, SuccessOrderCriteria.None); + + Assert.Equal(2, result.Count()); + } + + [Fact] + public void GetSuccesses_WithBadNumber_ReturnsCorrectNumberOfSuccesses() + { + var success1 = new SuccessEntity { UserId = 1, InquiryId = 1, IsFinished = true }; + var success2 = new SuccessEntity { UserId = 2, InquiryId = 2, IsFinished = false }; + var success3 = new SuccessEntity { UserId = 3, InquiryId = 3, IsFinished = true }; + + _dbContext.Successes.AddRange(success1, success2, success3); + _dbContext.SaveChanges(); + + var result = _successDataService.GetSuccesses(1, -42, SuccessOrderCriteria.None); + + Assert.Equal(3, result.Count()); + } [Fact] public void GetSuccessesByUserId_ReturnsCorrectSuccesses()