public void GetAllPhoneBooks_Test() { var data = new List <PhoneBook> { new PhoneBook { ID = 1, Name = "Test Book 1", CreatedAt = DateTime.Now, ModifiedAt = DateTime.Now }, new PhoneBook { ID = 2, Name = "Test Book 2", CreatedAt = DateTime.Now, ModifiedAt = DateTime.Now } }.AsQueryable(); var mockSet = new Mock <DbSet <PhoneBook> >(); mockSet.As <IQueryable <PhoneBook> >().Setup(m => m.Provider).Returns(data.Provider); mockSet.As <IQueryable <PhoneBook> >().Setup(m => m.Expression).Returns(data.Expression); mockSet.As <IQueryable <PhoneBook> >().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As <IQueryable <PhoneBook> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var mockContext = new Mock <PhoneBookDBContext>(); mockContext.Setup(c => c.PhoneBook).Returns(mockSet.Object); PhoneBooksController controller = new PhoneBooksController(mockContext.Object); // var service = new BlogService(mockContext.Object); var result = controller.Index() as ViewResult; var phoneBooks = (List <PhoneBook>)result.ViewData.Model; Assert.AreEqual(2, phoneBooks.Count); Assert.AreEqual("Test Book 1", phoneBooks[0].Name); Assert.AreEqual("Test Book 2", phoneBooks[1].Name); }
public PhoneBooksControllerTest(TestFixture fixture) { _context = fixture.Context; var logger = fixture.CreateMockLogger <PhoneBooksController>(); _controller = new PhoneBooksController(_context, logger); }
public async Task GetPhoneBok_ShouldReturnOk_ForAuthenticatedUser() { // Arrange Guid phoneBookId = new Guid("25320c5e-f58a-4b1f-b63a-8ee07a840bdf"); Guid userId = new Guid("25320c5e-f58a-4b1f-b63a-8ee07a840bdc"); Mock <IPhoneBookRepository> mockPhoneBooksRepo = new Mock <IPhoneBookRepository>(); Mock <IPhoneBookEntryRepository> mockPhoneBookEntriesRepo = new Mock <IPhoneBookEntryRepository>(); Mock <ILogger <PhoneBooksController> > mockLogger = new Mock <ILogger <PhoneBooksController> >(); Mock <IMapper> mockMapper = new Mock <IMapper>(); Mock <IUserInfoService> mockUserInfoService = new Mock <IUserInfoService>(); mockPhoneBooksRepo.Setup(repo => repo.GetByIdAsync(phoneBookId)) .ReturnsAsync(new PhoneBook { Id = new Guid("25320c5e-f58a-4b1f-b63a-8ee07a840bdf"), UserId = new Guid("25320c5e-f58a-4b1f-b63a-8ee07a840bdc") }); mockUserInfoService.Setup(service => service.UserId).Returns("25320c5e-f58a-4b1f-b63a-8ee07a840bdc"); PhoneBooksController controller = new PhoneBooksController( mockLogger.Object, mockUserInfoService.Object, mockPhoneBooksRepo.Object, mockPhoneBookEntriesRepo.Object, mockMapper.Object); // Act var result = await controller.GetPhoneBook(phoneBookId).ConfigureAwait(false); var actionResult = Assert.IsType <ActionResult <PhoneBookResponse> >(result); Assert.IsType <OkObjectResult>(actionResult.Result); }
public async Task GetPhoneBook_ShouldReturnNotFound_ForInvalidId() { // Arrange Guid phoneBookId = new Guid("25320c5e-f58a-4b1f-b63a-8ee07a840bdf"); Mock <IPhoneBookRepository> mockPhoneBooksRepo = new Mock <IPhoneBookRepository>(); Mock <IPhoneBookEntryRepository> mockPhoneBookEntriesRepo = new Mock <IPhoneBookEntryRepository>(); Mock <ILogger <PhoneBooksController> > mockLogger = new Mock <ILogger <PhoneBooksController> >(); Mock <IMapper> mockMapper = new Mock <IMapper>(); Mock <IUserInfoService> mockUserInfoService = new Mock <IUserInfoService>(); mockPhoneBooksRepo.Setup(repo => repo.GetByIdAsync(phoneBookId)) .ReturnsAsync((PhoneBook)null); PhoneBooksController controller = new PhoneBooksController( mockLogger.Object, mockUserInfoService.Object, mockPhoneBooksRepo.Object, mockPhoneBookEntriesRepo.Object, mockMapper.Object); // Act var result = await controller.GetPhoneBook(phoneBookId).ConfigureAwait(false); // Assert var actionResult = Assert.IsType <ActionResult <PhoneBookResponse> >(result); Assert.IsType <NotFoundResult>(actionResult.Result); }
public void Get_ReturnsAListOfPhoneBooks() { // Arrange var mockService = new Mock <IPhoneBookService>(); mockService.Setup(service => service.Get()) .Returns(GetFakePhoneBooks()); var controller = new PhoneBooksController(mockService.Object); // Act var okResult = controller.Get().Result as OkObjectResult; // Assert var result = Assert.IsType <List <PhoneBook> >(okResult.Value); Assert.Equal(2, result.Count()); }
public void Get_WithId_ReturnsAPhoneBook() { // Arrange var testPhoneBookId = 1; var mockService = new Mock <IPhoneBookService>(); mockService.Setup(service => service.Get(testPhoneBookId)) .Returns(GetFakePhoneBooks().First()); var controller = new PhoneBooksController(mockService.Object); // Act var okResult = controller.Get(1).Result as OkObjectResult; // Assert var result = Assert.IsType <PhoneBook>(okResult.Value); Assert.Equal(testPhoneBookId, result.PhoneBookId); }
public void CreatePhoneBook_save_phonebook_via_context_Test() { var mockSet = new Mock <DbSet <PhoneBook> >(); var mockContext = new Mock <PhoneBookDBContext>(); mockContext.Setup(m => m.PhoneBook).Returns(mockSet.Object); PhoneBooksController controller = new PhoneBooksController(mockContext.Object); controller.Create(new PhoneBook() { ID = 1, Name = "Test Book", CreatedAt = DateTime.Now, ModifiedAt = DateTime.Now }); mockSet.Verify(m => m.Add(It.IsAny <PhoneBook>()), Times.Once()); mockContext.Verify(m => m.SaveChanges(), Times.Once()); }
public void GetPhoneBookDetails_givenID_Test() { var data = new List <PhoneBook> { new PhoneBook { ID = 1, Name = "Test Book 1", CreatedAt = DateTime.Now, ModifiedAt = DateTime.Now }, new PhoneBook { ID = 2, Name = "Test Book 2", CreatedAt = DateTime.Now, ModifiedAt = DateTime.Now } }.AsQueryable(); int testid = 2; var mockSet = new Mock <DbSet <PhoneBook> >(); mockSet.As <IQueryable <PhoneBook> >().Setup(m => m.Provider).Returns(data.Provider); mockSet.As <IQueryable <PhoneBook> >().Setup(m => m.Expression).Returns(data.Expression); mockSet.As <IQueryable <PhoneBook> >().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As <IQueryable <PhoneBook> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); mockSet.Setup(m => m.Find(It.IsAny <int>())).Returns(data.Where(x => x.ID == testid).FirstOrDefault); var mockContext = new Mock <PhoneBookDBContext>(); mockContext.Setup(c => c.PhoneBook).Returns(mockSet.Object); PhoneBooksController controller = new PhoneBooksController(mockContext.Object); var resultTest = controller.Details(testid) as ViewResult; var phoneBook = resultTest.ViewData.Model as PhoneBook; Assert.AreEqual("Test Book 2", phoneBook.Name); }