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_EmptyTweet_When_ResponseIsWhitespace() { // Arrange this.apiProviderStub .Setup(x => x.GetJSON(It.IsAny <string>())) .ReturnsAsync(""); this.jsonProviderStub .Setup(x => x.DeserializeObject <TweetDto>(It.IsAny <string>())) .Returns(new TweetDto()) .Verifiable(); var twitterService = new global::RTWTR.Service.Twitter.TwitterService( this.apiProviderStub.Object, this.jsonProviderStub.Object, this.mappingProviderStub.Object ); // Act var TweetDto = await twitterService.GetSingleTweetAsync("screenName"); // Assert Assert.IsNotNull(TweetDto); Assert.IsNull(TweetDto.Id); Assert.IsNull(TweetDto.Text); Assert.IsNull(TweetDto.TwitterUser); Assert.IsNull(TweetDto.CreatedAt); }
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); }
public void Not_ReturnNull_When_InvokedWithCorrectParameters() { // Arrange & Act var twitterService = new global::RTWTR.Service.Twitter.TwitterService( this.apiProviderStub.Object, this.jsonProviderStub.Object, this.mappingProviderStub.Object ); // Assert Assert.IsNotNull(twitterService); }
public async Task Returns_CorrectTweet_When_ResponseIsCorrect() { // Arrange this.apiProviderStub .Setup(x => x.GetJSON(It.IsAny <string>())) .ReturnsAsync("correctJSON"); this.jsonProviderStub .Setup(x => x.DeserializeObject <TweetDto>("correctJSON")) .Returns( new TweetDto() { Id = "ID", Text = "Tweet Text", CreatedAt = "createdAt", TwitterUser = new TwitterUserDto { Id = "userId", Name = "userName", ScreenName = "userScreenName" } }) .Verifiable(); var twitterService = new global::RTWTR.Service.Twitter.TwitterService( this.apiProviderStub.Object, this.jsonProviderStub.Object, this.mappingProviderStub.Object ); // Act var TweetDto = await twitterService.GetSingleTweetAsync("screenName"); // Assert Assert.IsNotNull(TweetDto); Assert.IsNotNull(TweetDto.TwitterUser); Assert.AreEqual("ID", TweetDto.Id); Assert.AreEqual("Tweet Text", TweetDto.Text); Assert.AreEqual("createdAt", TweetDto.CreatedAt); Assert.AreEqual("userId", TweetDto.TwitterUser.Id); Assert.AreEqual("userName", TweetDto.TwitterUser.Name); Assert.AreEqual("userScreenName", TweetDto.TwitterUser.ScreenName); }
public async Task Return_CorrectJSON_When_ScreenNameIsValid() { // Arrange this.apiProviderStub .Setup(x => x.GetJSON(It.IsAny <string>())) .ReturnsAsync("correctJSON"); var twitterService = new global::RTWTR.Service.Twitter.TwitterService( this.apiProviderStub.Object, this.jsonProviderStub.Object, this.mappingProviderStub.Object ); var result = await twitterService.GetSingleTweetJSONAsync("screenName"); Assert.AreEqual( "correctJSON", result ); }
public async Task Return_EmptyString_When_ResponseIsNull() { // Arrange this.apiProviderStub .Setup(x => x.GetJSON(It.IsAny <string>())) .ReturnsAsync((string)null); var twitterService = new global::RTWTR.Service.Twitter.TwitterService( this.apiProviderStub.Object, this.jsonProviderStub.Object, this.mappingProviderStub.Object ); // Act var result = await twitterService.GetSingleTweetJSONAsync("screenName"); // Assert Assert.AreEqual( string.Empty, result ); }
public async Task Call_ApiProvider_GetJSON_Once() { // Arrange this.apiProviderStub .Setup(x => x.GetJSON(It.IsAny <string>())) .ReturnsAsync("correctJSON") .Verifiable(); var twitterService = new global::RTWTR.Service.Twitter.TwitterService( this.apiProviderStub.Object, this.jsonProviderStub.Object, this.mappingProviderStub.Object ); // Act var result = await twitterService.GetSingleTweetJSONAsync("screenName"); // Assert this.apiProviderStub.Verify( x => x.GetJSON(It.IsAny <string>()), Times.Once ); }