public async Task Call_JsonProvider_Deserialize_Once() { // Arrange this.apiProviderStub .Setup(x => x.GetJSON(It.IsAny <string>())) .ReturnsAsync("correctJSON"); this.jsonProviderStub .Setup(x => x.DeserializeObject <TwitterUserDto>(It.IsAny <string>())) .Returns(new TwitterUserDto()) .Verifiable(); var twitterService = new global::RTWTR.Service.Twitter.TwitterService( this.apiProviderStub.Object, this.jsonProviderStub.Object, this.mappingProviderStub.Object ); // Act var userDto = await twitterService.GetSingleUserAsync("screenName"); // Assert this.jsonProviderStub.Verify( x => x.DeserializeObject <TwitterUserDto>(It.IsAny <string>()), Times.Once ); }
public async Task Returns_EmptyUser_When_ResponseIsWhitespace() { // Arrange this.apiProviderStub .Setup(x => x.GetJSON(It.IsAny <string>())) .ReturnsAsync(""); this.jsonProviderStub .Setup(x => x.DeserializeObject <TwitterUserDto>(It.IsAny <string>())) .Returns(new TwitterUserDto()) .Verifiable(); var twitterService = new global::RTWTR.Service.Twitter.TwitterService( this.apiProviderStub.Object, this.jsonProviderStub.Object, this.mappingProviderStub.Object ); // Act var userDto = await twitterService.GetSingleUserAsync("screenName"); // Assert Assert.IsNotNull(userDto); Assert.IsNull(userDto.Id); Assert.IsNull(userDto.Name); Assert.IsNull(userDto.Description); Assert.IsNull(userDto.TwitterId); Assert.IsNull(userDto.ProfileImageUrl); }
public async Task Returns_CorrectUser_When_ResponseIsCorrect() { // Arrange this.apiProviderStub .Setup(x => x.GetJSON(It.IsAny <string>())) .ReturnsAsync("correctJSON"); this.jsonProviderStub .Setup(x => x.DeserializeObject <TwitterUserDto>("correctJSON")) .Returns( new TwitterUserDto() { Id = "ID", Name = "Jason", Description = "CorrectDTO" }) .Verifiable(); var twitterService = new global::RTWTR.Service.Twitter.TwitterService( this.apiProviderStub.Object, this.jsonProviderStub.Object, this.mappingProviderStub.Object ); // Act var userDto = await twitterService.GetSingleUserAsync("screenName"); // Assert Assert.IsNotNull(userDto); Assert.AreEqual("ID", userDto.Id); Assert.AreEqual("Jason", userDto.Name); Assert.AreEqual("CorrectDTO", userDto.Description); }