public async Task ReadPost_Test() { //Arrange var post = UsingDbContext <Post>(a => a.Post.FirstOrDefault()); var Id = post.Id; var _postRepositoryMock = Substitute.For <IPostRepository>(); var _userRepositoryMock = Substitute.For <IUserRepository>(); var postAppServiceMock = new PostAppService(_postRepositoryMock, _userRepositoryMock); _postRepositoryMock.GetAsync(Id).Returns(Task.FromResult(post)); _postRepositoryMock.Single(Arg.Is <Expression <Func <Post, bool> > >(a => a.Compile()(post))).Returns(post); //此时的_userRepositoryMock是桩对象,用来使方法运行通过 _userRepositoryMock.GetAsync(post.AuthorId).Returns(Task.FromResult(new User("li"))); //Act var postDto = await postAppServiceMock.ReadPost(Id); //Assert await _postRepositoryMock.Received().GetAsync(Id); postDto.ShouldNotBeNull(); postDto.AuthorName.ShouldNotBeNullOrEmpty(); this.Dispose(); }
private async Task PostDetailAsync(GridCommandEventArgs args) { var post = (Post)args.Item; Comment = await PostAppService.GetFirstCommentByPostIdAsync(post.Id); ModalVisible = true; }
private async Task CreateHandler(GridCommandEventArgs args) { var post = (Post)args.Item; var addedPost = await PostAppService.AddPostAsync(post); GridData.Insert(0, addedPost); }
private async Task UpdateHandler(GridCommandEventArgs args) { var post = (Post)args.Item; await PostAppService.UpdatePostAsync(post.Id, post); var matchingPost = GridData.FirstOrDefault(x => x.Id == post.Id); if (matchingPost != null) { matchingPost.Body = post.Body; matchingPost.Title = post.Title; } }
private async Task LoadDataAsync() { GridData = await PostAppService.GetPostsAsync(); }