From a786b4c07159bde72042defae10c3b739c33d08f Mon Sep 17 00:00:00 2001 From: tonyfages Date: Sun, 17 Mar 2024 11:14:13 +0100 Subject: [PATCH] =?UTF-8?q?Add=20some=20Tests=20=E2=9C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/Controllers/UserController.cs | 5 +- .../API/Entity_FrameWork.Article.db | Bin 4096 -> 49152 bytes .../API/Entity_FrameWork.Article.db-shm | Bin 32768 -> 0 bytes .../API/Entity_FrameWork.Article.db-wal | Bin 61832 -> 0 bytes .../API_Unit_Test/UserControllerTests.cs | 46 ++++++++++++++++++ .../Entity_FrameWork.Article.db-shm | Bin 32768 -> 0 bytes .../Entity_FrameWork.Article.db-wal | 0 7 files changed, 47 insertions(+), 4 deletions(-) delete mode 100644 Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-shm delete mode 100644 Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-wal delete mode 100644 Verax_API_EF/Verax_API_EF/Test_Console_EF/Entity_FrameWork.Article.db-shm delete mode 100644 Verax_API_EF/Verax_API_EF/Test_Console_EF/Entity_FrameWork.Article.db-wal diff --git a/Verax_API_EF/Verax_API_EF/API/Controllers/UserController.cs b/Verax_API_EF/Verax_API_EF/API/Controllers/UserController.cs index ae6be38..0f305cd 100644 --- a/Verax_API_EF/Verax_API_EF/API/Controllers/UserController.cs +++ b/Verax_API_EF/Verax_API_EF/API/Controllers/UserController.cs @@ -212,15 +212,13 @@ namespace API.Controllers _logger.LogInformation("Executing {Action} - with parameters: {Parameters}",nameof(UpdateArticleUser), articleUser); try { - // Retrieve the existing entity - var existingEntity = await _dataManager.UserService.GetArticleUser(articleUser.UserEntityPseudo); + var existingEntity = (await _dataManager.UserService.GetArticleUser(articleUser.UserEntityPseudo)).Select(a => a.ToDTO()); if (existingEntity == null) { return NotFound($"ArticleUser {articleUser.UserEntityPseudo} does not exist"); } - // Delete the existing entity var deleteResult = await _dataManager.UserService.DeleteArticleUser(articleUser.UserEntityPseudo, oldId); if (!deleteResult) @@ -228,7 +226,6 @@ namespace API.Controllers return BadRequest($"Failed to delete ArticleUser {articleUser.UserEntityPseudo}"); } - // Create a new entity with the updated values var createResult = await _dataManager.UserService.CreateArticleUser(articleUser); if (createResult == null) diff --git a/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db b/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db index 9a472209435d88229f65ab7a0ca30d67df87a462..b1ed424dfdd364a631cb6f0b6230900a50f82c05 100644 GIT binary patch literal 49152 zcmeI)&u`mQ00(gYNaH4LXQV1vRW8!9h-?cnwQQ+pbo{q_X zaU;?t?!=e!hhy)LRYqsVreoiZ{5o8eK4zOSK>z{}fB*!JkHDKFl9HX|_owxCo!-mc zsIIcF&@#2F8x}RywyoQHMT_p%4S)M+wxnh%D#;aA)EgxEF9DKdy+D$Fup~K`?2R#* z+E?O|ay`ZGXF928Ok1xtsdH#pCW5<1`tlOo-&Y1NOTmM}bM_z}la$Fx{_R_~w%Me9 zDg0U7Pq&h}vZi(yF;3W&%+-^Or=ng}OQf(~A%%^#HIiK~lq;nS+fI_jYaQhzDVB2i zOz9@Mrrso(jmmniz#`A9h02TZ)2&3t6>H+!n#2ajL*;WXY7% zXjarUl{K+!rku^JsPWW8S(21giht*(TN%On3$6_Zt0uUUrQ@L_s`jUeJA{EEEuiu9YvG22kpyidNVv!$!PXoHR7q+XjI8e z4pQ@TT}}H7QZW)$&Y$PKlg>xB=tUeO7*Ltx&6G>N|t4t_PQ3t3laSKkO>KMr-!2 zNh`W@8SnjC@YBic+6}|(2_H}GZ}5_`yv*Ovxm?w%x|-LwP4{YVy{22XVeW-)6oQDM z#~d{2gD9O#T%ZKK?Rr2w{jI!c8ui_p{W>+R{x7C@DknshHCnw0`$uco z`Dbg4eR%l?j{RYR00bZa0SG_<0uX=z1Rwwb2teTY3QY3iqOvf*aB+Syy*z(uX?|(G z+A_D(FVD@-Eyh{7c=-v({xCrR0uX=z1Rwwb2tWV=5P$##AaL9TUKAH&AvXb>=l|k~ z&p7!#d4bI^K>z{}fB*y_009U<00Izz00fSKz@{j1vu{nsPUX+!&swBS?-G;N^c~u} zPIQYHyEf6M*XFG^()U`drUg&p=W0ePQ*Y_*vk@tgP{yYd>;Ze(IoN%k&sJ=sb-8n-Gfw1^D2*ph zo=hv{hUOfX)vTIknp$VhHoJ>G@y`lg{8Q|Q2ze)*`?CaRz{}fB*y_009U< z00Izz00bcL%nQUsg?H~&3=NA3w$v&|BypT)Hxxu?gLAJyh=~(1@0Nh~{Qt4j|9>if zFMlOJe&!2^3_<_`5P$##AOHafKmY;|fB*!ZZvknj)6tLkJ$=^Y_iq9SaY3Bmy-vR{ z%!^9Qy-DCb|9|B4|DUjT0KSkPJ>P^VJp>>C0SG_<0uX=z1Rwwb2teSO7Klaoab9Fk z`G?{WKEaF5bN-0C=nVE(7Dpre1TXmg|5zmE_y3*e|DwFX$)C#avKb}_KmY;|fB*y_ z009U<00Izz00fRIuq;No>GbTlGw2>!By61i7WJ1`s8uud9a}frjfTDR%7qJC?4U(w z00Gu_UlzIoE_4NC1OA5wT<8Sky8@=W0;UH9O#1;3-v9qY{#pJ}{u=N9AGMNk90VW$ z0SG_<0uX=z1Rwwb2teTf6d3OOw7>KEzv#dI?~VuH{Vd?{O#r9=FUn6i`EU7mHp2t~ l2tWV=5P$##AOHafKmY;|fWUDU=!^mA&xNQs9%H{a_y=c@{d@ob delta 33 ncmZo@U~W*DAkE6iz`(#baiTppBZFSrD_$UvL143>z%+gUdj1C2 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 643e42e78810b7a8614a6c224a41197d78e5f52e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeI*Jx&5)5C-67@dv~oN*azpVrStwpz{Wv!wXPY*m??M!415F@d!%|GaF)PEpeVV zdGi4wyE_m4F#BFKnKn9Tn(1Af*U_hC*KWQZ9=9()UHA6-d_SIlu2=6Lvp;@6F4ZTm zyF1F^=>3fz{R+~5TA|2KpH0RjXF5FkK+009C72oNAZfB*pk P1PBlyK!5;&|1Gcw;^HYt 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 880afdde79f361f2b7b40f8a100b45c9c8f32833..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61832 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 } + + [Fact] + public async Task CreateArticleUser_ReturnsOk_WithNewArticleUser() + { + // Arrange + var articleUser = new ArticleUserEntity { UserEntityPseudo = "User1", ArticleEntityId = 1 }; + _mockDataManager.Setup(m => m.UserService.CreateArticleUser(articleUser)).ReturnsAsync(true); + + // Act + var result = await _controller.CreateArticleUser(articleUser); + + // Assert + Assert.IsType(result); + } + + [Fact] + public async Task UpdateArticleUser_ReturnsOk_WhenUpdated() + { + // Arrange + var articleUser = new ArticleUserEntity { UserEntityPseudo = "User1", ArticleEntityId = 2 }; + _mockDataManager.Setup(m => m.UserService.DeleteArticleUser(It.IsAny(), It.IsAny())).ReturnsAsync(true); + _mockDataManager.Setup(m => m.UserService.CreateArticleUser(It.IsAny())).ReturnsAsync(true); + + // Act + var result = await _controller.UpdateArticleUser(articleUser, 1); + + // Assert + Assert.IsType(result); + } + + + [Fact] + public async Task DeleteArticleUser_ReturnsOk_WhenDeleted() + { + // Arrange + _mockDataManager.Setup(m => m.UserService.DeleteArticleUser(It.IsAny(), It.IsAny())).ReturnsAsync(true); + + // Act + var result = await _controller.DeleteArticleUser("User1", 1); + + // Assert + Assert.IsType(result); + } + } \ No newline at end of file diff --git a/Verax_API_EF/Verax_API_EF/Test_Console_EF/Entity_FrameWork.Article.db-shm b/Verax_API_EF/Verax_API_EF/Test_Console_EF/Entity_FrameWork.Article.db-shm deleted file mode 100644 index fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeIuAr62r3