public async Task CreateAsync_WithEmptyNameShouldThrowArgumentNullException() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var firmService = new FirmService(context); var createFirmServiceModel = new CreateFirmServiceModel(); var firmName = " "; createFirmServiceModel.Name = firmName; await Assert.ThrowsAsync <ArgumentNullException>(async() => { await firmService.CreateAsync(createFirmServiceModel); }); }
public async Task CreateAsync_WithOverMaxNameLengthShouldThrowInvalidOperationException() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var firmService = new FirmService(context); var createFirmServiceModel = new CreateFirmServiceModel(); var firmName = "qwertyuiop qwertyuiop qwertyuiop qwertyuiop qwertyuiop"; createFirmServiceModel.Name = firmName; var message = "Firm's Name cannot be more than 50 characters."; var exception = await Assert.ThrowsAsync <InvalidOperationException>(async() => { await firmService.CreateAsync(createFirmServiceModel); }); Assert.Equal(message, exception.Message); }
public async Task CreateAsync_ShouldSuccessfullyCreate() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var firmService = new FirmService(context); var createFirmServiceModel = new CreateFirmServiceModel(); var firmName = "FN 1"; createFirmServiceModel.Name = firmName; await firmService.CreateAsync(createFirmServiceModel); var expectedResult = firmName; var actualResult = firmService .All() .First() .Name; Assert.True(expectedResult == actualResult); }
public async Task CreateAsync_WithExistingNameShouldThrowInvalidOperationException() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); await this.SeedDataAsync(context); var firmService = new FirmService(context); var createFirmServiceModel = new CreateFirmServiceModel(); var firmName = "FN 1"; createFirmServiceModel.Name = firmName; var message = "Firm's name already exists."; var exception = await Assert.ThrowsAsync <InvalidOperationException>(async() => { await firmService.CreateAsync(createFirmServiceModel); }); Assert.Equal(message, exception.Message); }
public async Task CreateAsync(CreateFirmServiceModel createFirmServiceModel) { var firm = AutoMapperConfig.MapperInstance.Map <Firm>(createFirmServiceModel); if (string.IsNullOrWhiteSpace(firm.Name)) { throw new ArgumentNullException(EmptyFirmErrorMessage); } if (await this.context.Firms.AnyAsync(f => f.Name == firm.Name)) { throw new InvalidOperationException(FirmExistErrorMessage); } if (firm.Name.Length > AttributesConstraints.FirmNameMaxLength) { throw new InvalidOperationException(string.Format(FirmNameMaxLengthErrorMessage, AttributesConstraints.FirmNameMaxLength)); } await this.context.Firms.AddAsync(firm); await this.context.SaveChangesAsync(); }