/// <summary> /// 返信を投稿 /// </summary> /// <param name="board"></param> /// <param name="data">投稿データ</param> public void PostResponse( BoardEntity board, BoardPostEntity data ) { if ( board != null ) { board.Posts.Add( data ); db_.SaveChanges(); } }
/// <summary> /// 掲示板追加 /// </summary> /// <param name="newBoard">追加する掲示板情報</param> /// <returns>追加した掲示板のID</returns> public int Add( BoardEntity newBoard ) { var result = db_.Boards.Add( newBoard ); db_.SaveChanges(); return result != null ? result.Id : 0; }
public void PostCreate() { // モック用意 var mockset = new Mock<DbSet<BoardEntity>>(); var mockcontext = new Mock<BoardDbContext>(); // ダミーデータの生成 var model = new BoardCreateModel { Title = "題名", Text = "本文" }; // Addの返り値フック var dummy = new BoardEntity { Id = 1, Title = model.Title, Text = model.Text }; mockset.As<IDbSet<BoardEntity>>().Setup( m => m.Add( It.IsAny<BoardEntity>() ) ).Returns( dummy ); mockcontext.Setup( m => m.Boards ).Returns( mockset.Object ); var controller = new BoardController(mockcontext.Object); var result = controller.Create(model) as RedirectResult; Assert.IsNotNull( result ); // Addが呼ばれたかチェック mockset.Verify( m => m.Add( It.Is<BoardEntity>( o => o.Title == model.Title && o.Text == model.Text ) ), Times.Once ); // SaveChangesがよばれたかチェック mockcontext.Verify( m => m.SaveChanges(), Times.Once ); Assert.AreEqual( result.Url, "/Board/Show/1" ); }