public void Service_With_Valid_Facts_Calls_Transformer()
        {
            var expectedFactToBeTransformed = new ChuckNorrisFact();

            _moqService.Setup(x => x.GetOneFactAsync()).ReturnsAsync(() => expectedFactToBeTransformed);

            var sut = new ChuckNorrisService(_moqService.Object, _transformMoq.Object);

            Assert.DoesNotThrowAsync(() => sut.GetOneFactAsync());
            _transformMoq.Verify(x => x.Transform(expectedFactToBeTransformed), Times.Once);
        }
        public async Task Service_With_Valid_Facts_Returns_The_Correct_Transformed_Value()
        {
            var givenFact    = new ChuckNorrisFact();
            var expectedFact = new ChuckNorrisFactViewModel();

            _transformMoq.Setup(x => x.Transform(givenFact)).Returns(() => expectedFact);
            _moqService.Setup(x => x.GetOneFactAsync()).ReturnsAsync(() => givenFact);

            var sut = new ChuckNorrisService(_moqService.Object, _transformMoq.Object);

            var result = await sut.GetOneFactAsync();

            Assert.IsNotNull(result);
            Assert.AreEqual(expectedFact, result);

            _transformMoq.Verify(x => x.Transform(givenFact), Times.Once);
        }
Ejemplo n.º 3
0
        public void Transformer_With_Valid_Fact_Transforms_Correctly()
        {
            var expectedString = "someExpectedString";
            var givenFact      = new ChuckNorrisFact
            {
                Value   = expectedString,
                IconUrl = expectedString,
                Id      = expectedString,
                Url     = expectedString
            };

            var sut = new ChuckNorrisFactViewModelTransformer();

            var result = sut.Transform(givenFact);

            Assert.IsNotNull(result);
            Assert.IsNull(result.Category);
            Assert.AreEqual(expectedString, result.Value);
            Assert.AreEqual(expectedString, result.IconUrl);
            Assert.AreEqual(expectedString, result.Id);
            Assert.AreEqual(expectedString, result.Url);
        }