Example #1
0
        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();
        }
Example #2
0
        private async Task PostDetailAsync(GridCommandEventArgs args)
        {
            var post = (Post)args.Item;

            Comment = await PostAppService.GetFirstCommentByPostIdAsync(post.Id);

            ModalVisible = true;
        }
Example #3
0
        private async Task CreateHandler(GridCommandEventArgs args)
        {
            var post = (Post)args.Item;

            var addedPost = await PostAppService.AddPostAsync(post);

            GridData.Insert(0, addedPost);
        }
Example #4
0
        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;
            }
        }
Example #5
0
 private async Task LoadDataAsync()
 {
     GridData = await PostAppService.GetPostsAsync();
 }