コード例 #1
0
 public CostsController(ICustomLogger logger, IModelTransformer modelTransformer, IRepository repository, IModelMetaDataProvider modelMetaDataProvider)
 {
     this.logger                = logger;
     this.modelTransformer      = modelTransformer;
     this.repository            = repository;
     this.modelMetaDataProvider = modelMetaDataProvider;
 }
コード例 #2
0
        public void Setup()
        {
            var argumentValueSources = new Dictionary <int, ArgumentValueSources>()
            {
                { 0, ArgumentValueSources.Neutral },
                { 1, ArgumentValueSources.Bound },
                { 2, ArgumentValueSources.Bound }
            };

            _mapping = new Mock <IRequestMapping>(MockBehavior.Strict);
            _mapping.SetupGet(instance => instance.Operation).Returns(typeof(TestController).GetMethod("List").ToOperationInfo("/", Verb.GET));
            _mapping.SetupGet(instance => instance.Target).Returns(new TestController());
            _mapping.SetupGet(instance => instance.ArgumentSources).Returns(argumentValueSources);
            _entityContext = new Mock <IEntityContext>(MockBehavior.Strict);
            var blankNodeIdGenerator = new Mock <IBlankNodeIdGenerator>(MockBehavior.Strict);

            blankNodeIdGenerator.Setup(instance => instance.Generate()).Returns("bnode001");
            _entityContext.SetupGet(instance => instance.BlankIdGenerator).Returns(blankNodeIdGenerator.Object);
            _entityContext.Setup(instance => instance.Commit());
            var entityContextProvider = new Mock <IEntityContextProvider>(MockBehavior.Strict);

            entityContextProvider.SetupGet(instance => instance.EntityContext).Returns(_entityContext.Object);
            var namedGraphSelector = new Mock <ILocallyControlledNamedGraphSelector>(MockBehavior.Strict);

            namedGraphSelector.Setup(instance => instance.MapEntityGraphForRequest(It.IsAny <IRequestInfo>(), It.IsAny <EntityId>(), It.IsAny <Uri>()));
            namedGraphSelector.Setup(instance => instance.UnmapEntityGraphForRequest(It.IsAny <IRequestInfo>(), It.IsAny <EntityId>()));
            var namedGraphSelectorFactory = new Mock <INamedGraphSelectorFactory>(MockBehavior.Strict);

            namedGraphSelectorFactory.Setup(instance => instance.NamedGraphSelector).Returns(namedGraphSelector.Object);
            _modelTransformer = new CollectionModelTransformer(entityContextProvider.Object, namedGraphSelectorFactory.Object);
        }
コード例 #3
0
            public void Send_Null_Should_Return_Null()
            {
                // Given // When
                var result = IModelTransformer.HotelToViewModel(null);

                // Then
                Assert.Null(result);
            }
コード例 #4
0
        public ModelTransformerTest()
        {
            var hostingEnvironment   = new Mock <IHostingEnvironment>();
            var projectRootDirectory = Directory.GetParent(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName).FullName;

            hostingEnvironment.Setup(m => m.ContentRootPath).Returns(projectRootDirectory);
            IModelTransformer = new ModelTransformer(hostingEnvironment.Object);
        }
コード例 #5
0
            public void Send_Hotel_Model_Should_Return_Hotel_View_Model()
            {
                // Given
                var hotel = new Hotel();

                // When
                var result = IModelTransformer.HotelToViewModel(hotel);

                // Then
                Assert.IsType <HotelViewModel>(result);
            }
コード例 #6
0
            public void Send_Place_Model_Should_Return_Place_View_Model()
            {
                // Given
                var place = new Place();

                // When
                var result = IModelTransformer.PlaceToViewModel(place);

                // Then
                Assert.IsType <PlaceViewModel>(result);
            }
コード例 #7
0
            public void Send_Hotel_Model_With_Image_Does_Not_Exist_Should_Return_Hotel_View_Model_With_Empty_Image_Property()
            {
                // Given
                var hotel = new Hotel
                {
                    Image = "SomeInvalidImageName.jpg"
                };
                // When
                var result = IModelTransformer.HotelToViewModel(hotel);

                // Then
                Assert.Equal(result.Image, string.Empty);
            }
コード例 #8
0
            public void Send_List_Of_Places_Returns_List_Of_Place_View_Models_With_Same_Quanity()
            {
                // Given
                var places = new List <Place> {
                    new Place()
                };

                // When
                var result = IModelTransformer.PlacesToViewModels(places);

                // Then
                Assert.True(places.Count == result.Count);
            }
コード例 #9
0
            public void Send_List_Of_Places_Returns_List_Of_Place_View_Models()
            {
                // Given
                var places = new List <Place> {
                    new Place()
                };

                // When
                var result = IModelTransformer.PlacesToViewModels(places);

                // Then
                Assert.IsType <List <PlaceViewModel> >(result);
            }
コード例 #10
0
            public void Send_Place_Model_Should_Return_Place_View_Model_With_Properties_Matching()
            {
                // Given
                var place = new Place {
                    ID = 1, Name = "Place", Hotels = new List <Hotel> {
                        new Hotel(), new Hotel()
                    }
                };

                // When
                var result = IModelTransformer.PlaceToViewModel(place);

                // Then
                Assert.Equal(place.ID, result.ID);
                Assert.Equal(place.Name, result.Name);
                Assert.Equal(place.Hotels.Count, result.Hotels.ToList().Count);
            }
コード例 #11
0
        private RequestHandler SetupEnvironment <T>(
            T result = default(T),
            bool useDefaultArguments               = false,
            string methodName                      = "Substract",
            IPreRequestHandler preRequestHandler   = null,
            IPostRequestHandler postRequestHandler = null,
            IModelTransformer modelTransformer     = null)
        {
            var operation = CreateOperation(methodName);

            _arguments = operation.UnderlyingMethod.GetParameters().Select(parameter =>
                                                                           (useDefaultArguments ? Activator.CreateInstance(parameter.ParameterType) : null)).ToArray();

            ResponseInfo       response   = null;
            Mock <IController> controller = new Mock <IController>(MockBehavior.Strict);

            controller.SetupGet(instance => instance.Response).Returns(() => response);
            controller.SetupSet(instance => instance.Response = It.IsAny <ResponseInfo>()).Callback <IResponseInfo>(info => response = (ResponseInfo)info);

            _mapping = new Mock <IRequestMapping>(MockBehavior.Strict);
            _mapping.SetupGet(instance => instance.Operation).Returns(operation);
            _mapping.SetupGet(instance => instance.Target).Returns(controller.Object);
            _mapping.Setup(instance => instance.Invoke(_arguments)).Returns(result);

            _delegateMapper = new Mock <IDelegateMapper <RequestInfo> >(MockBehavior.Strict);
            _delegateMapper.Setup(instance => instance.MapRequest(It.IsAny <RequestInfo>())).Returns <RequestInfo>(request => _mapping.Object);

            _argumentBinder = new Mock <IArgumentBinder <RequestInfo> >();
            _argumentBinder.Setup(instance => instance.BindArguments(It.IsAny <RequestInfo>(), It.IsAny <IRequestMapping>()))
            .Returns <IRequestInfo, IRequestMapping>((request, requestMapping) => _arguments);

            _responseComposer = new Mock <IResponseComposer>(MockBehavior.Strict);
            _responseComposer.Setup(instance => instance.ComposeResponse(_mapping.Object, result, _arguments)).Returns((ResponseInfo)null);

            return(new RequestHandler(
                       _argumentBinder.Object,
                       _delegateMapper.Object,
                       _responseComposer.Object,
                       (preRequestHandler != null ? new[] { preRequestHandler } : null),
                       (postRequestHandler != null ? new[] { postRequestHandler } : null),
                       (modelTransformer != null ? new[] { modelTransformer } : null)));
        }
コード例 #12
0
            public void Send_Hotel_Model_Should_Return_Hotel_View_Model_With_Properties_Matching()
            {
                // Given
                var hotel = new Hotel
                {
                    ID         = 1,
                    Name       = "Hotel1",
                    Image      = "A110517480.jpg",
                    Rate       = 0,
                    StarRating = 5
                };
                // When
                var result = IModelTransformer.HotelToViewModel(hotel);

                // Then
                Assert.Equal(hotel.ID, result.ID);
                Assert.Equal(hotel.Name, result.Name);
                Assert.Equal(hotel.Image, result.Image);
                Assert.Equal(hotel.Rate, result.Rate);
                Assert.Equal(hotel.StarRating, result.StarRating);
            }
コード例 #13
0
 public BaseEntityDataProvider(IEntityRepository <T2> repository, IModelTransformer <T, T2> transformer)
 {
     _repository  = repository;
     _transformer = transformer;
 }
コード例 #14
0
 public OrganizationService(IOrganizationRepository repository, IModelTransformer <OrganizationModel, Organization> transformer) : base(repository, transformer)
 {
     _repository = repository;
 }
コード例 #15
0
 public StubRequestHandler(IRequestEvaluator evaluator, IModelTransformer transformer, ILogger logger)
 {
     _evaluator   = evaluator;
     _transformer = transformer;
     _logger      = logger;
 }
コード例 #16
0
 public void Teardown()
 {
     _modelTransformer = null;
     _mapping          = null;
     _entityContext    = null;
 }
コード例 #17
0
 public ArticleService(IArticleRepository repository, IModelTransformer <ArticleModel, Article> transformer) : base(repository, transformer)
 {
     _repository = repository;
 }
コード例 #18
0
 public ProductService(IProductRepository repository, IModelTransformer <ProductModel, Product> transformer) : base(repository, transformer)
 {
     _repository = repository;
 }
コード例 #19
0
 public BaseModelService(IEntityRepository <TEntity> repository, IModelTransformer <TModel, TEntity> transformer)
 {
     _repository  = repository;
     _transformer = transformer;
 }
コード例 #20
0
 public PlaceController(IPlaceService iPlaceService, IModelTransformer iModelTransformer)
 {
     IPlaceService     = iPlaceService ?? throw new ArgumentNullException(nameof(iPlaceService));
     IModelTransformer = iModelTransformer ?? throw new ArgumentNullException(nameof(iModelTransformer));
 }
コード例 #21
0
 public ProductDataProvider(IProductRepository repository, IModelTransformer <ProductModel, Product> transformer)
     : base(repository, transformer)
 {
     _productRepository = repository;
 }