public async Task CreateAsync_WithEmptyNameShouldThrowArgumentNullException() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var driverService = new DriverService(context); var createDriverServiceModel = new CreateDriverServiceModel(); var driverFullName = " "; createDriverServiceModel.FullName = driverFullName; await Assert.ThrowsAsync <ArgumentNullException>(async() => { await driverService.CreateAsync(createDriverServiceModel); }); }
public async Task CreateAsync_WithOverMaxNameLengthShouldThrowInvalidOperationException() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var driverService = new DriverService(context); var createDriverServiceModel = new CreateDriverServiceModel(); var driverFullName = "qwertyuiop qwertyuiop qwertyuiop qwertyuiop qwertyuiop"; createDriverServiceModel.FullName = driverFullName; var message = "Driver's fullname cannot be more than 50 characters."; var exception = await Assert.ThrowsAsync <InvalidOperationException>(async() => { await driverService.CreateAsync(createDriverServiceModel); }); Assert.Equal(message, exception.Message); }
public async Task CreateAsync_ShouldSuccessfullyCreate() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var driverService = new DriverService(context); var createDriverServiceModel = new CreateDriverServiceModel(); var driverFullName = "DFN 1"; createDriverServiceModel.FullName = driverFullName; await driverService.CreateAsync(createDriverServiceModel); var expectedResult = driverFullName; var actualResult = driverService .All() .First() .FullName; Assert.True(expectedResult == actualResult); }
public async Task CreateAsync_WithExistingNameShouldThrowInvalidOperationException() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); await this.SeedDataAsync(context); var driverService = new DriverService(context); var createDriverServiceModel = new CreateDriverServiceModel(); var driverFullName = "DFN 1"; createDriverServiceModel.FullName = driverFullName; var message = "Driver's fullname already exists."; var exception = await Assert.ThrowsAsync <InvalidOperationException>(async() => { await driverService.CreateAsync(createDriverServiceModel); }); Assert.Equal(message, exception.Message); }
public async Task CreateAsync(CreateDriverServiceModel createDriverServiceModel) { var driver = AutoMapperConfig.MapperInstance.Map <Driver>(createDriverServiceModel); if (string.IsNullOrWhiteSpace(driver.FullName)) { throw new ArgumentNullException(EmptyDriverErrorMessage); } if (await this.context.Drivers.AnyAsync(d => d.FullName == driver.FullName)) { throw new InvalidOperationException(DriverExistErrorMessage); } if (driver.FullName.Length > AttributesConstraints.DriverFullNameMaxLength) { throw new InvalidOperationException(string.Format(DriverFullNameMaxLengthErrorMessage, AttributesConstraints.DriverFullNameMaxLength)); } await this.context.Drivers.AddAsync(driver); await this.context.SaveChangesAsync(); }