public async Task Given_TypeAndName_Run_Should_Return_Result()
        {
            var result = new { Hello = "World" };

            var function = new Mock <IGitHubRepositoriesFunction>();

            function.Setup(p => p.InvokeAsync <HttpRequest, object>(It.IsAny <HttpRequest>(), It.IsAny <FunctionOptionsBase>())).ReturnsAsync(result);

            var factory = new Mock <IFunctionFactory>();

            factory.Setup(p => p.Create <IGitHubRepositoriesFunction>(It.IsAny <TraceWriter>(), It.IsAny <string>())).Returns(function.Object);

            CoreGitHubRepositoriesHttpTrigger.Factory = factory.Object;

            var query = new FakeQueryCollection();

            query["type"] = "lorem";
            query["name"] = "ipsum";

            var req = new Mock <HttpRequest>();

            req.SetupGet(p => p.Query).Returns(query);

            var log      = new TraceMonitor();
            var response = await CoreGitHubRepositoriesHttpTrigger.Run(req.Object, log).ConfigureAwait(false);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).Value.Should().Be(result);
        }
        public async Task Given_Request_Run_Should_Return_Result()
        {
            var message = "hello world";
            var result  = new OkObjectResult(message);

            var function = new Mock <ISampleHttpFunction>();

            function.Setup(p => p.InvokeAsync <HttpRequest, IActionResult>(It.IsAny <HttpRequest>(), It.IsAny <FunctionOptionsBase>())).ReturnsAsync(result);

            var factory = new Mock <IFunctionFactory>();

            factory.Setup(p => p.Create <ISampleHttpFunction, ILogger>(It.IsAny <ILogger>())).Returns(function.Object);

            SampleHttpTrigger.Factory = factory.Object;

            var id       = 1;
            var category = "heros";

            var query = new FakeQueryCollection();

            query["name"] = "ipsum";

            var req = new Mock <HttpRequest>();

            req.SetupGet(p => p.Query).Returns(query);

            var log      = new Mock <ILogger>();
            var response = await SampleHttpTrigger.GetSample(req.Object, id, category, log.Object).ConfigureAwait(false);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).Value.Should().Be(message);
        }
예제 #3
0
        public void Create_EmptyQueryCollection_ModelCreatedWithoutRating()
        {
            using (var scope = _container.CreateScope())
            {
                //Arrange
                var factory         = scope.ServiceProvider.GetRequiredService <IFeedbackGetModelFactory>();
                var queryCollection = new FakeQueryCollection();
                //Act
                var model = factory.Create(queryCollection);

                //Assert
                Assert.False(model.Rating.HasValue);
            }
        }
예제 #4
0
        public void Create_ValidInput_ModelCreatedWithRating()
        {
            using (var scope = _container.CreateScope())
            {
                //Arrange
                var factory         = scope.ServiceProvider.GetRequiredService <IFeedbackGetModelFactory>();
                var queryCollection = new FakeQueryCollection {
                    { FeedbackGetModelFactory.RatingQueryParamName, "3" }
                };

                //Act
                var model = factory.Create(queryCollection);

                //Assert
                Assert.True(model.Rating.HasValue && model.Rating.Value == 3);
            }
        }