public async Task ReturnNull_WhenCreatePostFailed() { // Arrange var post = new PostData.Builder() { Title = "My title", Body = "My body", UserIdentifier = 100, }; var mockedPostEndpoint = new Mock <IPostEndpoint>(); mockedPostEndpoint .Setup(endpoint => endpoint.Create(It.IsAny <CancellationToken>(), post)) .ReturnsAsync(default(PostData)); var sut = new PostService(mockedPostEndpoint.Object); // Act var result = await sut.Create(CancellationToken.None, post); // Assert result .Should().BeNull(); }
public async Task It_Should_Create() { var post = new PostData.Builder() { Title = "My title", Body = "My body", UserIdentifier = 100, }; var result = await SUT.Create(DefaultCancellationToken, post); result.Should().NotBeNull(); result.Id.Should().BeGreaterThan(0); result.Title.Should().Be(post.Title); result.Body.Should().Be(post.Body); result.UserIdentifier.Should().Be(post.UserIdentifier); }
public async Task It_Should_Update() { var post = new PostData.Builder() { Id = 1, Title = "My updated title", Body = "My updated body", UserIdentifier = 100, }; var result = await SUT.Update(DefaultCancellationToken, post.Id, post); result.Should().NotBeNull(); result.Id.Should().Be(post.Id); result.Title.Should().Be(post.Title); result.Body.Should().Be(post.Body); result.UserIdentifier.Should().Be(post.UserIdentifier); }
public async Task Update_WhenGivenPostAlreadyExists() { // Arrange var post = new PostData.Builder() { Id = 1, Title = "My updated title", Body = "My updated body", UserIdentifier = 100, }; // This part is the part that must be defined by the API contract. // Since there is none here, we are assuming it's giving us a null object when the body is null var mockedPostEndpoint = new Mock <IPostEndpoint>(); mockedPostEndpoint .Setup(endpoint => endpoint.Update(It.IsAny <CancellationToken>(), post.Id, post)) .ReturnsAsync(post); var sut = new PostService(mockedPostEndpoint.Object); // Act var result = await sut.Update(CancellationToken.None, post.Id, post); // Assert using (new AssertionScope()) { result .Should().NotBeNull(); result.Id .Should().Be(post.Id); result.Title .Should().Be(post.Title); result.Body .Should().Be(post.Body); result.UserIdentifier .Should().Be(post.UserIdentifier); } }
public async Task CreatePost() { // Arrange var post = new PostData.Builder() { Title = "My title", Body = "My body", UserIdentifier = 100, }; var randomId = new Random().Next(1, int.MaxValue); var mockedPostEndpoint = new Mock <IPostEndpoint>(); mockedPostEndpoint .Setup(endpoint => endpoint.Create(It.IsAny <CancellationToken>(), It.IsAny <PostData>())) .ReturnsAsync(post.WithId(randomId)); var sut = new PostService(mockedPostEndpoint.Object); // Act var result = await sut.Create(CancellationToken.None, post); // Assert using (new AssertionScope()) { result .Should().NotBeNull(); result.Id .Should().Be(randomId); result.Title .Should().Be(post.Title); result.Body .Should().Be(post.Body); result.UserIdentifier .Should().Be(post.UserIdentifier); } }