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); }
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))); }
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))); }
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); }
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)); }
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); }
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)); }
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); }