public void GetToDoItemsTest() { var mediator = new Mock <IMediator>(); var patchToDo = new Mock <IPatchToDo>(); List <ToDoItemExt> toDoItemExt = new List <ToDoItemExt> { new ToDoItemExt() { Id = 1, Name = "Item 1", Label = "Label 1" }, new ToDoItemExt() { Id = 2, Name = "Item 2", Label = "Label 2" } }; EmptyQuery <List <Domain.Models.ToDoItemExt> > command = new EmptyQuery <List <Domain.Models.ToDoItemExt> >(); mediator.Setup(e => e.Send(command, new System.Threading.CancellationToken())).Returns(Task.FromResult(toDoItemExt)); ToDoItemsController controller = new ToDoItemsController(patchToDo.Object, mediator.Object); var result = controller.GetToDoItems(command); var response = result.Result as OkObjectResult; List <ToDoItemExt> items = (List <ToDoItemExt>)response.Value; Assert.AreEqual(1, items[0].Id); Assert.AreEqual("Item 1", items[0].Name); Assert.AreEqual("Label 1", items[0].Label); Assert.AreEqual(2, items[1].Id); Assert.AreEqual("Item 2", items[1].Name); Assert.AreEqual("Label 2", items[1].Label); }
public ToDoItemsControllerTests() { var options = new DbContextOptionsBuilder <ToDoItemContext>().UseSqlite("DataSource=:memory:") .Options; _context = new ToDoItemContext(options); _context.Database.OpenConnection(); _context.Database.EnsureCreated(); _sut = new ToDoItemsController(_context); }
public void GetReturnsNotFound() { // Arrange var mockRepository = new Mock <IRepository <ToDoItem> >(); var controller = new ToDoItemsController(mockRepository.Object, _mapper); // Act IHttpActionResult actionResult = controller.Get(10); // Assert Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult)); }
public void Find_ReturnsNotFoundResult_WhenNonExistingIdIsPassed() { // Arrange String testId = "123"; var mockRepo = new Mock <IToDoRepository>(); mockRepo.Setup(repo => repo.Find(testId)).Returns((ToDoItem)null); var controller = new ToDoItemsController(mockRepo.Object); // Act var result = controller.Find(testId); // Assert Assert.IsType <NotFoundObjectResult>(result); }
public void DeleteToDoItemTest() { var mediator = new Mock <IMediator>(); var patchToDo = new Mock <IPatchToDo>(); DeleteToDoItemQuery command = new DeleteToDoItemQuery { ItemId = 1 }; mediator.Setup(e => e.Send(command, new System.Threading.CancellationToken())).Returns(Task.FromResult(1)); ToDoItemsController controller = new ToDoItemsController(patchToDo.Object, mediator.Object); var result = controller.DeleteToDoItem(command); var response = result.Result as OkObjectResult; Assert.AreEqual(1, (int)response.Value); }
public void PostMethodReturnsIteSavedItem() { // Arrange var mockRepository = new Mock <IRepository <ToDoItem> >(); var controller = new ToDoItemsController(mockRepository.Object, _mapper); // Act IHttpActionResult actionResult = controller.Post(new ToDoItemDTO { Id = 10, Title = "Test Action" }); var postedResult = actionResult as OkNegotiatedContentResult <ToDoItemDTO>; // Assert Assert.IsNotNull(postedResult); Assert.IsNotNull(postedResult.Content); Assert.AreEqual(10, postedResult.Content.Id); Assert.AreEqual("Test Action", postedResult.Content.Title); }
public void DeleteReturnsOkNegotiatedContentResultDTO() { // Arrange var mockRepository = new Mock <IRepository <ToDoItem> >(); mockRepository.SetReturnsDefault(new ToDoItem() { Id = 10 }); var controller = new ToDoItemsController(mockRepository.Object, _mapper); // Act IHttpActionResult actionResult = controller.Delete(10); // Assert Assert.IsInstanceOfType(actionResult, typeof(OkNegotiatedContentResult <ToDoItemDTO>)); }
public async Task GetToDoItems_Successfull() { //arrange Mock <IToDoItemRepo> repoMock = new Mock <IToDoItemRepo>(); //HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK); List <ToDoItem> data = new List <ToDoItem>() { new ToDoItem { Id = 1, AssignedToEmail = "*****@*****.**", DateDue = DateTime.Now.AddDays(2), Description = "Description of to-do item 1", Subject = "Subject 1", Title = "To-do Item Number 1" }, new ToDoItem { Id = 1, AssignedToEmail = "*****@*****.**", DateDue = DateTime.Now.AddDays(2), Description = "Description of to-do item 2", Subject = "Subject 2", Title = "To-do Item Number 2" }, new ToDoItem { Id = 1, AssignedToEmail = "*****@*****.**", DateDue = DateTime.Now.AddDays(2), Description = "Description of to-do item 3", Subject = "Subject 3", Title = "To-do Item Number 3" }, new ToDoItem { Id = 1, AssignedToEmail = "*****@*****.**", DateDue = DateTime.Now.AddDays(2), Description = "Description of to-do item 4", Subject = "Subject 4", Title = "To-do Item Number 4" }, new ToDoItem { Id = 1, AssignedToEmail = "*****@*****.**", DateDue = DateTime.Now.AddDays(2), Description = "Description of to-do item 5", Subject = "Subject 5", Title = "To-do Item Number 5" } }; repoMock.Setup(x => x.List()).Returns(Task.FromResult <IList <ToDoItem> >(data)); ToDoItemsController controller = new ToDoItemsController(repoMock.Object); controller.Request = new HttpRequestMessage(); controller.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); //act var result = await controller.GetToDoItems(); var content = await result.Content.ReadAsAsync <List <ToDoItem> >(); //assert repoMock.Verify(x => x.List(), Times.Once()); Assert.IsInstanceOfType(result, typeof(HttpResponseMessage), "'result' type must be a HttpResponseMessage"); Assert.IsInstanceOfType(content, typeof(IList <ToDoItem>), "'content' type must be of IList<ToDoItem>"); Assert.AreEqual(HttpStatusCode.OK, result.StatusCode); }
public void UpdateToDoItemTest() { var mediator = new Mock <IMediator>(); var patchToDo = new Mock <IPatchToDo>(); UpdateToDoItemCommand command = new UpdateToDoItemCommand { ToDoItem = new BaseToDoItem() { LabelId = 2, Name = "Item 3", IsComplete = false } }; mediator.Setup(e => e.Send(command, new System.Threading.CancellationToken())).Returns(Task.FromResult(1)); ToDoItemsController controller = new ToDoItemsController(patchToDo.Object, mediator.Object); var result = controller.UpdateToDoItem(1, command); var response = result.Result as OkObjectResult; Assert.AreEqual(1, (int)response.Value); }
public void GetReturnsProductWithTheSameID() { // Arrange var mockRepository = new Mock <IRepository <ToDoItem> >(); mockRepository.SetReturnsDefault(new ToDoItem() { Id = 10 }); var controller = new ToDoItemsController(mockRepository.Object, _mapper); // Act IHttpActionResult actionResult = controller.Get(10); var contentResult = actionResult as OkNegotiatedContentResult <ToDoItemDTO>; // Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.AreEqual(10, contentResult.Content.Id); }
public void AddToDoItemTest() { var mediator = new Mock <IMediator>(); var patchToDo = new Mock <IPatchToDo>(); AddToDoItemCommand command = new AddToDoItemCommand { ToDoItem = new Domain.Models.BaseToDoItem() { IsComplete = true, LabelId = 1, Name = "Item 1", UserId = 1 } }; mediator.Setup(e => e.Send(command, new System.Threading.CancellationToken())).Returns(Task.FromResult(1)); ToDoItemsController controller = new ToDoItemsController(patchToDo.Object, mediator.Object); var result = controller.AddToDoItem(command); var response = result.Result as OkObjectResult; Assert.AreEqual(1, (int)response.Value); }
public void PutMethodReturnsModifiedItem() { // Arrange var mockRepository = new Mock <IRepository <ToDoItem> >(); mockRepository.SetReturnsDefault(new ToDoItem { Id = 10, Title = "Item", Description = "Description" }); var controller = new ToDoItemsController(mockRepository.Object, _mapper); var modifiedItem = new ToDoItemDTO { Title = "Updated Item", Description = "Updated Description" }; // Act IHttpActionResult actionResult = controller.Put(10, modifiedItem); var updatedResult = actionResult as OkNegotiatedContentResult <ToDoItemDTO>; // Assert Assert.IsNotNull(updatedResult); Assert.IsNotNull(updatedResult.Content); Assert.AreEqual(modifiedItem.Description, updatedResult.Content.Description); Assert.AreEqual(modifiedItem.Title, updatedResult.Content.Title); }
public void SetUp() { mocksetTodo = new TestDbContext(); controller = new ToDoItemsController(mocksetTodo); toDoItem = new ToDoItem(); }