public void Verify_AreEqual_WithDifferentObjects_ReturnsFalse()
        {
            // Arrange
            var mapper = new OriginProfileMapper();
            var model  = OriginProfilesMockingSetup.DoMockingSetupForOriginProfileModel(1);
            var entity = OriginProfilesMockingSetup.DoMockingSetupForOriginProfile(2);
            // Act
            var result = mapper.AreEqual(model.Object, entity.Object);

            // Assert
            Assert.False(result);
        }
        public void Verify_MapToEntityExtension_CallsMapToEntity()
        {
            // Arrange
            var mockMapper = new Mock <OriginProfileMapper>();

            mockMapper.Setup(x => x.MapToEntity(It.IsAny <IOriginProfileModel>(), It.IsAny <int>()));
            var mockModel = OriginProfilesMockingSetup.DoMockingSetupForOriginProfileModel(1);

            OriginProfileMapperExtensions.OverrideMapper(mockMapper.Object);
            // Act
            mockModel.Object.MapToEntity();
            // Assert
            mockMapper.Verify(x => x.MapToEntity(It.IsAny <IOriginProfileModel>(), It.IsAny <int>()), Times.Once);
        }
        public void Verify_MapToModelLite_AssignsLiteOnlyOriginProfileProperties()
        {
            // Arrange
            var mapper = new OriginProfileMapper();
            var entity = OriginProfilesMockingSetup.DoMockingSetupForOriginProfile();
            // Act
            var model = mapper.MapToModelLite(entity.Object);

            // Assert
            // <None>
            // Related Objects
            Assert.Equal(entity.Object.OriginId, model.OriginId);
            Assert.Equal(entity.Object.ProfileId, model.ProfileId);
        }
        public void Verify_MapToEntity_AssignsOriginProfileProperties()
        {
            // Arrange
            var mapper = new OriginProfileMapper();
            var model  = OriginProfilesMockingSetup.DoMockingSetupForOriginProfileModel();
            // Act
            var entity = mapper.MapToEntity(model.Object);

            // Assert
            // <None>
            // Related Objects
            Assert.Equal(model.Object.OriginId, entity.OriginId);
            Assert.Equal(model.Object.ProfileId, entity.ProfileId);
            // Associated Objects
            // <None>
        }
        public void Verify_MapToSearchModel_AssignsOriginProfileSearchProperties()
        {
            // Arrange
            var mapper = new OriginProfileMapper();
            var model  = OriginProfilesMockingSetup.DoMockingSetupForOriginProfileModel();
            // Act
            var searchModel = mapper.MapToSearchModel(model.Object);

            // Assert
            Assert.Equal(model.Object.OriginId, searchModel.OriginId);
            Assert.Equal(model.Object.Origin?.CustomKey, searchModel.OriginCustomKey);
            Assert.Equal(model.Object.Origin?.ApiDetailUrl, searchModel.OriginApiDetailUrl);
            Assert.Equal(model.Object.Origin?.SiteDetailUrl, searchModel.OriginSiteDetailUrl);
            Assert.Equal(model.Object.Origin?.Name, searchModel.OriginName);
            Assert.Equal(model.Object.Origin?.ShortDescription, searchModel.OriginShortDescription);
            Assert.Equal(model.Object.Origin?.Description, searchModel.OriginDescription);
            Assert.Equal(model.Object.ProfileId, searchModel.ProfileId);
            Assert.Equal(model.Object.Profile?.CustomKey, searchModel.ProfileCustomKey);
            Assert.Equal(model.Object.Profile?.ApiDetailUrl, searchModel.ProfileApiDetailUrl);
            Assert.Equal(model.Object.Profile?.SiteDetailUrl, searchModel.ProfileSiteDetailUrl);
            Assert.Equal(model.Object.Profile?.Name, searchModel.ProfileName);
            Assert.Equal(model.Object.Profile?.ShortDescription, searchModel.ProfileShortDescription);
            Assert.Equal(model.Object.Profile?.Description, searchModel.ProfileDescription);
        }