Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 9.67 KB | None | 0 0
  1.  
  2. using ManagerLogbook.Services.Contracts;
  3. using ManagerLogbook.Services.Contracts.Providers;
  4. using ManagerLogbook.Services.CustomExeptions;
  5. using ManagerLogbook.Services.DTOs;
  6. using ManagerLogbook.Tests.HelpersMethods;
  7. using ManagerLogbook.Web.Areas.Manager.Controllers;
  8. using ManagerLogbook.Web.Services.Contracts;
  9. using Microsoft.AspNetCore.Mvc;
  10. using Microsoft.Extensions.Caching.Memory;
  11. using Microsoft.VisualStudio.TestTools.UnitTesting;
  12. using Moq;
  13. using System;
  14. using System.Collections.Generic;
  15. using System.Security.Claims;
  16. using System.Threading.Tasks;
  17.  
  18. namespace ManagerLogbook.Tests.Controllers.Note
  19. {
  20.     [TestClass]
  21.     public class Deactivate_Should
  22.     {
  23.         [TestMethod]
  24.         public async Task ReturnsBadRequest_WhenNotSucceded()
  25.         {
  26.             var userServiceMock = new Mock<IUserService>();
  27.             var rapperMock = new Mock<IUserServiceWrapper>();
  28.             var noteServiceMock = new Mock<INoteService>();
  29.             var logbookServiceMock = new Mock<ILogbookService>();
  30.             var memoryCacheMock = new Mock<IMemoryCache>();
  31.             var imageOptimizerMock = new Mock<IImageOptimizer>();
  32.  
  33.             var sut = new NotesController(imageOptimizerMock.Object,
  34.                                            userServiceMock.Object,
  35.                                            noteServiceMock.Object,
  36.                                            logbookServiceMock.Object,
  37.                                            memoryCacheMock.Object,
  38.                                            rapperMock.Object);
  39.  
  40.             var id = TestHelpersNoteController.TestUserDTO1().Id;
  41.  
  42.             noteServiceMock.Setup(x => x.GetNoteByIdAsync(4)).ReturnsAsync(TestHelpersNoteController.TestNoteDTO4());
  43.             rapperMock.Setup(x => x.GetLoggedUserId(It.IsAny<ClaimsPrincipal>())).Returns(id);
  44.             userServiceMock.Setup(x => x.GetUserByIdAsync(id)).ReturnsAsync(TestHelpersNoteController.TestUserDTO1());
  45.             noteServiceMock.Setup(x => x.DeactivateNoteActiveStatus(TestHelpersNoteController.TestNoteDTO4().Id, id)).ReturnsAsync(TestHelpersNoteController.TestNoteDTO4());
  46.             var actionResult = await sut.Deactivate(4);
  47.             Assert.IsInstanceOfType(actionResult, typeof(BadRequestObjectResult));
  48.         }
  49.  
  50.         [TestMethod]
  51.         public async Task Succeed()
  52.         {
  53.             var userServiceMock = new Mock<IUserService>();
  54.             var rapperMock = new Mock<IUserServiceWrapper>();
  55.             var noteServiceMock = new Mock<INoteService>();
  56.             var logbookServiceMock = new Mock<ILogbookService>();
  57.             var memoryCacheMock = new Mock<IMemoryCache>();
  58.             var imageOptimizerMock = new Mock<IImageOptimizer>();
  59.  
  60.             var sut = new NotesController(imageOptimizerMock.Object,
  61.                                            userServiceMock.Object,
  62.                                            noteServiceMock.Object,
  63.                                            logbookServiceMock.Object,
  64.                                            memoryCacheMock.Object,
  65.                                            rapperMock.Object);
  66.  
  67.             var userId = TestHelpersNoteController.TestUserDTO1().Id;
  68.  
  69.             var notes = new List<NoteDTO>() { TestHelpersNoteController.TestNoteDTO5(), TestHelpersNoteController.TestNoteDTO4() };
  70.  
  71.             noteServiceMock.Setup(x => x.GetNoteByIdAsync(5)).ReturnsAsync(TestHelpersNoteController.TestNoteDTO5());
  72.             rapperMock.Setup(x => x.GetLoggedUserId(It.IsAny<ClaimsPrincipal>())).Returns(userId);
  73.             userServiceMock.Setup(x => x.GetUserByIdAsync(userId)).ReturnsAsync(TestHelpersNoteController.TestUserDTO1());
  74.             noteServiceMock.Setup(x => x.DeactivateNoteActiveStatus(TestHelpersNoteController.TestNoteDTO5().Id, userId)).ReturnsAsync(TestHelpersNoteController.TestNoteDTO5());
  75.             noteServiceMock.Setup(x => x.ShowLogbookNotesAsync(userId, 1)).ReturnsAsync(notes);
  76.             var actionResult = await sut.Deactivate(5);
  77.             Assert.IsInstanceOfType(actionResult, typeof(PartialViewResult));
  78.         }
  79.  
  80.         [TestMethod]
  81.         public async Task ReturnsBaRequest_When_NotFoundException()
  82.         {
  83.             var userServiceMock = new Mock<IUserService>();
  84.             var rapperMock = new Mock<IUserServiceWrapper>();
  85.             var noteServiceMock = new Mock<INoteService>();
  86.             var logbookServiceMock = new Mock<ILogbookService>();
  87.             var memoryCacheMock = new Mock<IMemoryCache>();
  88.             var imageOptimizerMock = new Mock<IImageOptimizer>();
  89.  
  90.             var sut = new NotesController(imageOptimizerMock.Object,
  91.                                            userServiceMock.Object,
  92.                                            noteServiceMock.Object,
  93.                                            logbookServiceMock.Object,
  94.                                            memoryCacheMock.Object,
  95.                                            rapperMock.Object);
  96.  
  97.             var userId = TestHelpersNoteController.TestUserDTO1().Id;
  98.  
  99.             var notes = new List<NoteDTO>() { TestHelpersNoteController.TestNoteDTO5(), TestHelpersNoteController.TestNoteDTO4() };
  100.  
  101.             noteServiceMock.Setup(x => x.GetNoteByIdAsync(5)).ReturnsAsync(TestHelpersNoteController.TestNoteDTO5());
  102.             rapperMock.Setup(x => x.GetLoggedUserId(It.IsAny<ClaimsPrincipal>())).Returns(userId);
  103.             userServiceMock.Setup(x => x.GetUserByIdAsync(userId)).ReturnsAsync(TestHelpersNoteController.TestUserDTO1());
  104.             noteServiceMock.Setup(x => x.DeactivateNoteActiveStatus(TestHelpersNoteController.TestNoteDTO5().Id, userId)).ThrowsAsync(new NotFoundException());
  105.             noteServiceMock.Setup(x => x.ShowLogbookNotesAsync(userId, 1)).ReturnsAsync(notes);
  106.             var actionResult = await sut.Deactivate(5);
  107.             Assert.IsInstanceOfType(actionResult, typeof(BadRequestObjectResult));
  108.         }
  109.  
  110.         [TestMethod]
  111.         public async Task ReturnsBaRequest_When_NotAuthorizedException()
  112.         {
  113.             var userServiceMock = new Mock<IUserService>();
  114.             var rapperMock = new Mock<IUserServiceWrapper>();
  115.             var noteServiceMock = new Mock<INoteService>();
  116.             var logbookServiceMock = new Mock<ILogbookService>();
  117.             var memoryCacheMock = new Mock<IMemoryCache>();
  118.             var imageOptimizerMock = new Mock<IImageOptimizer>();
  119.  
  120.             var sut = new NotesController(imageOptimizerMock.Object,
  121.                                            userServiceMock.Object,
  122.                                            noteServiceMock.Object,
  123.                                            logbookServiceMock.Object,
  124.                                            memoryCacheMock.Object,
  125.                                            rapperMock.Object);
  126.  
  127.             var userId = TestHelpersNoteController.TestUserDTO1().Id;
  128.  
  129.             var notes = new List<NoteDTO>() { TestHelpersNoteController.TestNoteDTO5(), TestHelpersNoteController.TestNoteDTO4() };
  130.  
  131.             noteServiceMock.Setup(x => x.GetNoteByIdAsync(5)).ReturnsAsync(TestHelpersNoteController.TestNoteDTO5());
  132.             rapperMock.Setup(x => x.GetLoggedUserId(It.IsAny<ClaimsPrincipal>())).Returns(userId);
  133.             userServiceMock.Setup(x => x.GetUserByIdAsync(userId)).ReturnsAsync(TestHelpersNoteController.TestUserDTO1());
  134.             noteServiceMock.Setup(x => x.DeactivateNoteActiveStatus(TestHelpersNoteController.TestNoteDTO5().Id, userId)).ThrowsAsync(new NotAuthorizedException());
  135.             noteServiceMock.Setup(x => x.ShowLogbookNotesAsync(userId, 1)).ReturnsAsync(notes);
  136.             var actionResult = await sut.Deactivate(5);
  137.             Assert.IsInstanceOfType(actionResult, typeof(BadRequestObjectResult));
  138.         }
  139.  
  140.         [TestMethod]
  141.         public async Task ReturnsRedirectToAction()
  142.         {
  143.             var userServiceMock = new Mock<IUserService>();
  144.             var rapperMock = new Mock<IUserServiceWrapper>();
  145.             var noteServiceMock = new Mock<INoteService>();
  146.             var logbookServiceMock = new Mock<ILogbookService>();
  147.             var memoryCacheMock = new Mock<IMemoryCache>();
  148.             var imageOptimizerMock = new Mock<IImageOptimizer>();
  149.  
  150.             var sut = new NotesController(imageOptimizerMock.Object,
  151.                                            userServiceMock.Object,
  152.                                            noteServiceMock.Object,
  153.                                            logbookServiceMock.Object,
  154.                                            memoryCacheMock.Object,
  155.                                            rapperMock.Object);
  156.  
  157.             var userId = TestHelpersNoteController.TestUserDTO1().Id;
  158.  
  159.             var notes = new List<NoteDTO>() { TestHelpersNoteController.TestNoteDTO5(), TestHelpersNoteController.TestNoteDTO4() };
  160.  
  161.             noteServiceMock.Setup(x => x.GetNoteByIdAsync(5)).ReturnsAsync(TestHelpersNoteController.TestNoteDTO5());
  162.             rapperMock.Setup(x => x.GetLoggedUserId(It.IsAny<ClaimsPrincipal>())).Returns(userId);
  163.             userServiceMock.Setup(x => x.GetUserByIdAsync(userId)).ReturnsAsync(TestHelpersNoteController.TestUserDTO1());
  164.             noteServiceMock.Setup(x => x.DeactivateNoteActiveStatus(TestHelpersNoteController.TestNoteDTO5().Id, userId)).ThrowsAsync(new Exception());
  165.             noteServiceMock.Setup(x => x.ShowLogbookNotesAsync(userId, 1)).ReturnsAsync(notes);
  166.             var actionResult = await sut.Deactivate(5);
  167.             var result = (RedirectToActionResult)actionResult;
  168.  
  169.             Assert.AreEqual("Error", result.ActionName);
  170.             Assert.AreEqual("Home", result.ControllerName);
  171.             Assert.IsInstanceOfType(result, typeof(RedirectToActionResult));
  172.         }
  173.     }
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement