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);
        }
Пример #2
0
        public PhoneBooksControllerTest(TestFixture fixture)
        {
            _context = fixture.Context;
            var logger = fixture.CreateMockLogger <PhoneBooksController>();

            _controller = new PhoneBooksController(_context, logger);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }