public ParserUserViewModel CreateParserUser(ParserUserViewModel model)
        {
            Guard.WhenArgument(model, nameof(ParserUserViewModel)).IsNull().Throw();

            var parserUser = this.objectMapperProvider.Map <ParserUser>(model);

            var dbParserUser = this.parserUserEntityFrameworkRepository.Create(parserUser);

            var viewModel = this.objectMapperProvider.Map <ParserUserViewModel>(dbParserUser);

            return(viewModel);
        }
        public ParserUserViewModel CreateParserUser(ParserUserViewModel model)
        {
            Guard.WhenArgument(model, nameof(ParserUserViewModel)).IsNull().Throw();

            using (var transaction = this.entityFrameworkTransactionFactory.CreateEntityFrameworkTransaction())
            {
                this.parserUserDataProvider.CreateParserUser(model);

                transaction.SaveChanges();
            }

            return(model);
        }
Beispiel #3
0
        public void ThrowArgumentNullException_WhenParserUserViewModelParameterIsNull()
        {
            // Arrange
            var parserUserDataProvider            = new Mock <IParserUserDataProvider>();
            var entityFrameworkTransactionFactory = new Mock <IEntityFrameworkTransactionFactory>();

            var createParserUserService = new CreateParserUserService(parserUserDataProvider.Object, entityFrameworkTransactionFactory.Object);

            ParserUserViewModel model = null;

            // Act & Assert
            Assert.That(
                () => createParserUserService.CreateParserUser(model),
                Throws.InstanceOf <ArgumentNullException>().With.Message.Contains(nameof(ParserUserViewModel)));
        }
Beispiel #4
0
        public void ThrowArgumentNullException_WhenParserUserViewModelParameter()
        {
            // Arrange
            var parserUserEntityFrameworkRepository = new Mock <IEntityFrameworkRepository <ParserUser> >();
            var objectMapperProvider = new Mock <IObjectMapperProvider>();

            var parserUserDataProvider = new ParserUserDataProvider(parserUserEntityFrameworkRepository.Object, objectMapperProvider.Object);

            ParserUserViewModel model = null;

            // Act & Assert
            Assert.That(
                () => parserUserDataProvider.CreateParserUser(model),
                Throws.InstanceOf <ArgumentNullException>().With.Message.Contains(nameof(ParserUserViewModel)));
        }
Beispiel #5
0
        public void InvokeIObjectMapperProvider_MapParserUserMethodOnceWithCorrectParameters()
        {
            // Arrange
            var parserUserEntityFrameworkRepository = new Mock <IEntityFrameworkRepository <ParserUser> >();
            var objectMapperProvider = new Mock <IObjectMapperProvider>();

            var parserUserDataProvider = new ParserUserDataProvider(parserUserEntityFrameworkRepository.Object, objectMapperProvider.Object);

            var model = new ParserUserViewModel();

            // Act
            parserUserDataProvider.CreateParserUser(model);

            // Assert
            objectMapperProvider.Verify(p => p.Map <ParserUser>(model), Times.Once);
        }
Beispiel #6
0
        public void ReturnCorrectParserUserViewModelInstance()
        {
            // Arrange
            var parserUserDataProvider            = new Mock <IParserUserDataProvider>();
            var entityFrameworkTransactionFactory = new Mock <IEntityFrameworkTransactionFactory>();

            var transaction = new Mock <IEntityFrameworkTransaction>();

            entityFrameworkTransactionFactory.Setup(f => f.CreateEntityFrameworkTransaction()).Returns(transaction.Object);

            var createParserUserService = new CreateParserUserService(parserUserDataProvider.Object, entityFrameworkTransactionFactory.Object);

            var model = new ParserUserViewModel();

            // Act
            var actualReturnedParserUserViewModelInstance = createParserUserService.CreateParserUser(model);

            // Assert
            Assert.That(actualReturnedParserUserViewModelInstance, Is.SameAs(model));
        }
Beispiel #7
0
        public void InvokeIEntityFrameworkTransaction_SaveChangesMethodOnce()
        {
            // Arrange
            var parserUserDataProvider            = new Mock <IParserUserDataProvider>();
            var entityFrameworkTransactionFactory = new Mock <IEntityFrameworkTransactionFactory>();

            var transaction = new Mock <IEntityFrameworkTransaction>();

            entityFrameworkTransactionFactory.Setup(f => f.CreateEntityFrameworkTransaction()).Returns(transaction.Object);

            var createParserUserService = new CreateParserUserService(parserUserDataProvider.Object, entityFrameworkTransactionFactory.Object);

            var model = new ParserUserViewModel();

            // Act
            createParserUserService.CreateParserUser(model);

            // Assert
            transaction.Verify(t => t.SaveChanges(), Times.Once);
        }
Beispiel #8
0
        public void ReturnCorrectParserUserViewModelInstance()
        {
            // Arrange
            var parserUserEntityFrameworkRepository = new Mock <IEntityFrameworkRepository <ParserUser> >();
            var objectMapperProvider = new Mock <IObjectMapperProvider>();

            var parserUserDataProvider = new ParserUserDataProvider(parserUserEntityFrameworkRepository.Object, objectMapperProvider.Object);

            var model = new ParserUserViewModel();

            var expectedReturnedParserUserViewModelInstance = new ParserUserViewModel();

            objectMapperProvider.Setup(p => p.Map <ParserUserViewModel>(It.IsAny <ParserUser>())).Returns(expectedReturnedParserUserViewModelInstance);

            // Act
            var actualReturnedParserUserViewModelInstance = parserUserDataProvider.CreateParserUser(model);

            // Assert
            Assert.That(actualReturnedParserUserViewModelInstance, Is.SameAs(expectedReturnedParserUserViewModelInstance));
        }
Beispiel #9
0
        public void InvokeIObjectMapperProvider_MapParserUserViewModelOnceWithCorrectParameters()
        {
            // Arrange
            var parserUserEntityFrameworkRepository = new Mock <IEntityFrameworkRepository <ParserUser> >();
            var objectMapperProvider = new Mock <IObjectMapperProvider>();

            var parserUserDataProvider = new ParserUserDataProvider(parserUserEntityFrameworkRepository.Object, objectMapperProvider.Object);

            var model = new ParserUserViewModel();

            var dbParserUser = new ParserUser();

            parserUserEntityFrameworkRepository.Setup(r => r.Create(It.IsAny <ParserUser>())).Returns(dbParserUser);

            // Act
            parserUserDataProvider.CreateParserUser(model);

            // Assert
            objectMapperProvider.Verify(p => p.Map <ParserUserViewModel>(dbParserUser), Times.Once);
        }