示例#1
0
        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
                );
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }