public void BoardRepositoryCanCreateBoard() { /* Begin Arrange */ var data = my_list.AsQueryable(); mock_boards.As<IQueryable<Board>>().Setup(m => m.Provider).Returns(data.Provider); mock_boards.As<IQueryable<Board>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); mock_boards.As<IQueryable<Board>>().Setup(m => m.ElementType).Returns(data.ElementType); mock_boards.As<IQueryable<Board>>().Setup(m => m.Expression).Returns(data.Expression); // This allows BoardRepository to call Boards.Add and have it update the my_list instance and Enumerator // Connect DbSet.Add to List.Add so they work together mock_boards.Setup(m => m.Add(It.IsAny<Board>())).Callback((Board b) => my_list.Add(b)); mock_context.Setup(m => m.Boards).Returns(mock_boards.Object); BoardRepository board_repo = new BoardRepository(mock_context.Object); string title = "My Awesome Board"; /* End Arrange */ /* Begin Act */ Board added_board = board_repo.CreateBoard(title, owner); /* End Act */ /* Begin Assert */ Assert.IsNotNull(added_board); mock_boards.Verify(m => m.Add(It.IsAny<Board>())); mock_context.Verify(x => x.SaveChanges(), Times.Once()); Assert.AreEqual(1, board_repo.GetBoardCount()); /* End Assert */ }
public void BoardRepositoryEnsureFalseIfInvalidBoardId() { BoardRepository board_repo = new BoardRepository(mock_context.Object); BrelloList list = new BrelloList { Title = "ToDo", BrelloListId = 1 }; my_list.Add(new Board { Title = "My First Board", Owner = user1, BoardId = 1 }); ConnectMocksToDataSource(); bool actual = board_repo.AddList(3, list); Assert.AreEqual(0, board_repo.GetListCount()); Assert.IsFalse(actual); }
public void BoardRepositoryCanGetABoard() { /* Begin Arrange */ my_list.Add(new Board { Title = "Tim's Board", Owner = user1 }); my_list.Add(new Board { Title = "Sally's Board", Owner = user2 }); ConnectMocksToDataSource(); /* Leveraging the CreateBoard Method: mock_boards.Setup(m => m.Add(It.IsAny<Board>())).Callback((Board b) => my_list.Add(b)); Board added_board = board_repo.CreateBoard(title, owner); */ BoardRepository board_repository = new BoardRepository(mock_context.Object); /* Begin Act */ List<Board> user_boards = board_repository.GetBoards(user1); /* Begin Assert */ Assert.AreEqual(1, user_boards.Count()); Assert.AreEqual("Tim's Board",user_boards.First().Title); }
public void BoardRepositoryCanGetBoardCount() { /* Begin Arrange */ var data = my_list.AsQueryable(); //mock_boards.Object.Add(new Board { Title = "My Awesome Board", Owner = new ApplicationUser() }); //var data = mock_boards.Object.AsQueryable(); mock_boards.As<IQueryable<Board>>().Setup(m => m.Provider).Returns(data.Provider); mock_boards.As<IQueryable<Board>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); mock_boards.As<IQueryable<Board>>().Setup(m => m.ElementType).Returns(data.ElementType); mock_boards.As<IQueryable<Board>>().Setup(m => m.Expression).Returns(data.Expression); mock_context.Setup(m => m.Boards).Returns(mock_boards.Object); //mock_context.Object.SaveChanges(); // This saves something to the Database BoardRepository board_repository = new BoardRepository(mock_context.Object); /* End Arrange */ /* Begin Act */ int actual = board_repository.GetBoardCount(); /* End Act */ /* Begin Assert */ Assert.AreEqual(0, actual); /* End Assert */ /* Begin Act */ my_list.Add(new Board { Title = "My Awesome Board" }); mock_boards.As<IQueryable<Board>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); /* End Act */ /* Begin Assert */ Assert.AreEqual(1, board_repository.GetBoardCount()); /* End Assert */ }
public void BoardRepositoryEnsureThereAreZeroLists() { /* Begin Arrange */ my_list.Add(new Board { Title = "Tim's Board", Owner = user1 }); my_list.Add(new Board { Title = "Sally's Board", Owner = user2 }); ConnectMocksToDataSource(); BoardRepository board_repo = new BoardRepository(mock_context.Object); /* End Arrange */ int expected = 0; int actual = board_repo.GetListCount(); Assert.AreEqual(expected, actual); }
public void BoardRepositoryEnsureICanGetAllLists() { /* Begin Arrange */ var brello_lists = new List<BrelloList> { new BrelloList { Title = "My List", BrelloListId = 1} }; my_list.Add(new Board { Title = "Tim's Board", Owner = user1, BoardId = 1, Lists = brello_lists }); my_list.Add(new Board { Title = "Sally's Board", Owner = user2, BoardId = 2, Lists = brello_lists }); ConnectMocksToDataSource(); BoardRepository board_repo = new BoardRepository(mock_context.Object); /* End Arrange */ /* Begin Act */ int expected = 2; int actual = board_repo.GetAllLists().Count; /* End Act */ /* Begin Assert */ Assert.AreEqual(expected, actual); /* End Assert */ }
public void BoardRepositoryEnsureICanGetAllBoards() { /* Begin Arrange */ // 1. Your data must be Queryable // 2. Mocks can only cast to an Interface (e.g. IQueryable, IDbSet, etc). // 3. You must ensure Provider, GetEnumerator(), ElementType, and Expression are defined // with your collection class (the container class that holds your data). my_list.Add(new Board { Title = "Tim's Board", Owner = owner }); my_list.Add(new Board { Title = "Sally's Board", Owner = owner }); ConnectMocksToDataSource(); BoardRepository board_repo = new BoardRepository(mock_context.Object); /* End Arrange */ /* Begin Act */ List<Board> boards = board_repo.GetAllBoards(); /* End Act */ /* Begin Assert */ Assert.AreEqual(2, boards.Count); /* End Assert */ }
public void BoardRepositoryEnsureICanCreateInstance() { BoardRepository board = new BoardRepository(mock_context.Object); Assert.IsNotNull(board); }
public void BoardRepositoryEnsureABoardHasZeroLists() { /* Begin Arrange */ my_list.Add(new Board { Title = "Tim's Board", Owner = user1, BoardId = 1 }); ConnectMocksToDataSource(); /* Begin Act */ BoardRepository board_repo = new BoardRepository(mock_context.Object); /* Begin Assert */ int expected = 0; Assert.AreEqual(expected, board_repo.GetAllLists(1).Count()); }
public BoardController(BoardRepository _repo) { repository = _repo; }
//private Mock<> public BoardController() { repository = new BoardRepository(); }