public async Task WhenPostIsNotFound_ItShouldReturnNull() { await this.DatabaseTestAsync(async testDatabase => { this.InitializeTarget(testDatabase); await this.CreateEntitiesAsync(testDatabase, likePost: true); await testDatabase.TakeSnapshotAsync(); var result = await this.target.ExecuteAsync(UserId, PostId.Random()); Assert.IsNull(result); return(ExpectedSideEffects.None); }); }
public async Task WhenInsertFailsBecauseOtherError_ItShouldRaiseError() { await this.DatabaseTestAsync(async testDatabase => { this.target = new RequestFreePostDbStatement(testDatabase); await this.CreateDataAsync(testDatabase); await testDatabase.TakeSnapshotAsync(); await ExpectedException.AssertExceptionAsync <Exception>( () => this.target.ExecuteAsync(RequestorId, PostId.Random(), Now, MaximumPosts)); return(ExpectedSideEffects.None); }); }
public async Task ItShouldReturnComments() { var expectedResult = new CommentsResult( new List <CommentsResult.Item> { new CommentsResult.Item(CommentId.Random(), PostId.Random(), UserId.Random(), new Username("blah"), new Comment("comment"), DateTime.UtcNow), }); this.getComments.Setup(v => v.ExecuteAsync(PostId)) .Returns(Task.FromResult(expectedResult)) .Verifiable(); var result = await this.target.HandleAsync(new GetCommentsQuery(Requester, PostId, Timestamp)); Assert.AreEqual(expectedResult, result); this.getComments.Verify(); }
public async Task WhenGettingComments_ItShouldIssueGetCommentsCommand() { var expectedResult = new CommentsResult( new List <CommentsResult.Item> { new CommentsResult.Item(CommentId.Random(), PostId.Random(), UserId.Random(), new Username("blah"), new Comment("comment"), DateTime.UtcNow), }); var timestamp = DateTime.UtcNow; this.timestampCreator.Setup(v => v.Now()).Returns(timestamp); this.requesterContext.Setup(_ => _.GetRequesterAsync()).ReturnsAsync(Requester); this.getComments.Setup(v => v.HandleAsync(new GetCommentsQuery(Requester, PostId, timestamp))) .Returns(Task.FromResult(expectedResult)) .Verifiable(); var result = await this.target.GetComments(PostId.Value.EncodeGuid()); Assert.AreEqual(expectedResult, result); this.getComments.Verify(); }