public void StatusCode_ResourceResponse_HasSameAsInput()
        {
            var generator = new StatusCodeResponseModifier();

            generator.WrapResourceObject = false;
            TestGeneratorForResource(generator, false);
        }
        public void StatusCode_ResourceResponse_HasWrappedInput()
        {
            var generator = new StatusCodeResponseModifier();

            generator.WrapResourceObject = true;
            TestGeneratorForResource(generator, true);
        }
        public void StatusCodeResponseBuilder_EmptyMultiFeedback_EnumerableBody()
        {
            var response = new Response(null);
            var builder  = new StatusCodeResponseModifier();

            builder.AddMultiFeedback(response, new List <Feedback>());

            Assert.IsAssignableFrom <IEnumerable>(response.ResourceBody);
        }
        public void StatusCodeResponseBuilder_SingleErrorFeedback_IsCorrectStatus()
        {
            var response = new Response(null);
            var builder  = new StatusCodeResponseModifier();

            builder.AddMultiFeedback(response, new List <Feedback>
            {
                new ErrorFeedback(new ErrorInfo(ErrorStatus.InternalServerError, "db", "There was a database error for this one.")),
            });

            var enumerable = Assert.IsAssignableFrom <IEnumerable>(response.ResourceBody);
            var itemData   = enumerable.Cast <RestItemData>().Single();

            Assert.Equal("internal_server_error", itemData[StatusCodeResponseModifier.StatusKey]);
        }
        public void StatusCodeResponseBuilder_MultiFeedback_StatusOk()
        {
            var response = new Response(null);
            var builder  = new StatusCodeResponseModifier();

            builder.AddMultiFeedback(response, new List <Feedback>
            {
                new AcknowledgmentFeedback(new Acknowledgment())
            });

            var enumerable = Assert.IsAssignableFrom <IEnumerable>(response.ResourceBody);
            var itemData   = enumerable.Cast <RestItemData>().Single();

            Assert.Equal("ok", itemData[StatusCodeResponseModifier.StatusKey]);
        }
        public void StatusCodeResponseBuilder_MultiFeedback_CorrectCount()
        {
            var response = new Response(null);
            var builder  = new StatusCodeResponseModifier();

            builder.AddMultiFeedback(response, new List <Feedback>
            {
                new AcknowledgmentFeedback(new Acknowledgment()),
                new AcknowledgmentFeedback(new Acknowledgment()),
                new ErrorFeedback(new ErrorInfo(ErrorStatus.InternalServerError, "db", "There was a database error for this one.")),
                new AcknowledgmentFeedback(new Acknowledgment()),
            });

            var enumerable = Assert.IsAssignableFrom <IEnumerable>(response.ResourceBody);

            Assert.Equal(4, enumerable.OfType <object>().Count());
        }