コード例 #1
0
        public async Task EditAsync_ShouldSuccessfullyEdit()
        {
            MapperInitializer.InitializeMapper();
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();

            await this.SeedDataAsync(context);

            var asphaltBaseService          = new AsphaltBaseService(context);
            var editAsphaltBaseServiceModel = new EditAsphaltBaseServiceModel();
            var asphaltBaseId   = 1;
            var asphaltBaseName = "ABN 3";

            editAsphaltBaseServiceModel.Id   = asphaltBaseId;
            editAsphaltBaseServiceModel.Name = asphaltBaseName;

            await asphaltBaseService.EditAsync(editAsphaltBaseServiceModel);

            var expectedResult = asphaltBaseName;
            var actualResult   = asphaltBaseService
                                 .All()
                                 .First()
                                 .Name;

            Assert.True(expectedResult == actualResult);
        }
コード例 #2
0
        public async Task EditAsync_WithNonExistingIdShouldThrowArgumentNullException()
        {
            MapperInitializer.InitializeMapper();
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();

            await this.SeedDataAsync(context);

            var asphaltBaseService          = new AsphaltBaseService(context);
            var editAsphaltBaseServiceModel = new EditAsphaltBaseServiceModel();

            editAsphaltBaseServiceModel.Id = 3;

            await Assert.ThrowsAsync <ArgumentNullException>(async() =>
            {
                await asphaltBaseService.EditAsync(editAsphaltBaseServiceModel);
            });
        }
コード例 #3
0
        public async Task EditAsync_WithOverMaxNameLengthShouldThrowInvalidOperationException()
        {
            MapperInitializer.InitializeMapper();
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();

            await this.SeedDataAsync(context);

            var asphaltBaseService          = new AsphaltBaseService(context);
            var editAsphaltBaseServiceModel = new EditAsphaltBaseServiceModel();
            var asphaltBaseName             = "qwertyuiop qwertyuiop qwertyuiop qwertyuiop qwertyuiop";

            editAsphaltBaseServiceModel.Name = asphaltBaseName;
            editAsphaltBaseServiceModel.Id   = 1;
            var message = "Asphalt base's name cannot be more than 50 characters.";

            var exception = await Assert.ThrowsAsync <InvalidOperationException>(async() =>
            {
                await asphaltBaseService.EditAsync(editAsphaltBaseServiceModel);
            });

            Assert.Equal(message, exception.Message);
        }
コード例 #4
0
        public async Task EditAsync_WithExistingNameShouldThrowInvalidOperationException()
        {
            MapperInitializer.InitializeMapper();
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();

            await this.SeedDataAsync(context);

            var asphaltBaseService          = new AsphaltBaseService(context);
            var editAsphaltBaseServiceModel = new EditAsphaltBaseServiceModel();
            var asphaltBaseName             = "ABN 2";

            editAsphaltBaseServiceModel.Name = asphaltBaseName;
            editAsphaltBaseServiceModel.Id   = 1;
            var message = "Asphalt base's name already exists.";

            var exception = await Assert.ThrowsAsync <InvalidOperationException>(async() =>
            {
                await asphaltBaseService.EditAsync(editAsphaltBaseServiceModel);
            });

            Assert.Equal(message, exception.Message);
        }