コード例 #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 DeleteByIdAsync_ShouldSuccessfullyDelete()
        {
            MapperInitializer.InitializeMapper();
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();

            await this.SeedDataAsync(context);

            var asphaltBaseService            = new AsphaltBaseService(context);
            var deleteAsphaltBaseServiceModel = new DeleteAsphaltBaseServiceModel();

            deleteAsphaltBaseServiceModel.Id = 1;

            await asphaltBaseService.DeleteByIdAsync(deleteAsphaltBaseServiceModel.Id);

            var expectedResult = 1;
            var actualResult   = asphaltBaseService
                                 .All()
                                 .Count();
            var expectedResult2 = "ABN 2";
            var actualResult2   = asphaltBaseService
                                  .All()
                                  .First()
                                  .Name;

            Assert.True(expectedResult == actualResult);
            Assert.True(expectedResult2 == actualResult2);
        }
コード例 #3
0
        public void All_ShouldReturnEmptyResult()
        {
            MapperInitializer.InitializeMapper();
            var context            = ApplicationDbContextInMemoryFactory.InitializeContext();
            var asphaltBaseService = new AsphaltBaseService(context);

            var actualResult = asphaltBaseService.All();

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

            await this.SeedDataAsync(context);

            var asphaltBaseService = new AsphaltBaseService(context);

            Assert.False(await asphaltBaseService.ExistsAsync(3));
        }
コード例 #5
0
        public async Task GetByIdAsync_WithNonExistingId_ShouldThrowArgumentNullException()
        {
            MapperInitializer.InitializeMapper();
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();

            await this.SeedDataAsync(context);

            var asphaltBaseService = new AsphaltBaseService(context);

            await Assert.ThrowsAsync <ArgumentNullException>(async() =>
            {
                await asphaltBaseService.GetByIdAsync(3);
            });
        }
コード例 #6
0
        public async Task CreateAsync_WithEmptyNameShouldThrowArgumentNullException()
        {
            MapperInitializer.InitializeMapper();
            var context                       = ApplicationDbContextInMemoryFactory.InitializeContext();
            var asphaltBaseService            = new AsphaltBaseService(context);
            var createAsphaltBaseServiceModel = new CreateAsphaltBaseServiceModel();
            var asphaltBaseName               = "  ";

            createAsphaltBaseServiceModel.Name = asphaltBaseName;

            await Assert.ThrowsAsync <ArgumentNullException>(async() =>
            {
                await asphaltBaseService.CreateAsync(createAsphaltBaseServiceModel);
            });
        }
コード例 #7
0
        public async Task GetByIdAsync_ShouldSuccessfullyGet()
        {
            MapperInitializer.InitializeMapper();
            var context = ApplicationDbContextInMemoryFactory.InitializeContext();

            await this.SeedDataAsync(context);

            var asphaltBaseService = new AsphaltBaseService(context);

            await asphaltBaseService.GetByIdAsync(1);

            var expectedResult = "ABN 1";
            var actualResult   = await asphaltBaseService.GetByIdAsync(1);

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

            await this.SeedDataAsync(context);

            var asphaltBaseService = new AsphaltBaseService(context);

            var actualResult   = asphaltBaseService.All().Select(x => x.Name).ToList();
            var expectedResult = this.GetDummyData().Select(x => x.Name).ToList();

            for (int i = 0; i < actualResult.Count; i++)
            {
                Assert.True(expectedResult[i] == actualResult[i]);
            }
        }
コード例 #9
0
        public async Task CreateAsync_WithOverMaxNameLengthShouldThrowInvalidOperationException()
        {
            MapperInitializer.InitializeMapper();
            var context                       = ApplicationDbContextInMemoryFactory.InitializeContext();
            var asphaltBaseService            = new AsphaltBaseService(context);
            var createAsphaltBaseServiceModel = new CreateAsphaltBaseServiceModel();
            var asphaltBaseName               = "qwertyuiop qwertyuiop qwertyuiop qwertyuiop qwertyuiop";

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

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

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

            await this.SeedDataAsync(context);

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

            editAsphaltBaseServiceModel.Name = asphaltBaseName;
            editAsphaltBaseServiceModel.Id   = 1;

            await Assert.ThrowsAsync <ArgumentNullException>(async() =>
            {
                await asphaltBaseService.EditAsync(editAsphaltBaseServiceModel);
            });
        }
コード例 #11
0
        public async Task CreateAsync_ShouldSuccessfullyCreate()
        {
            MapperInitializer.InitializeMapper();
            var context                       = ApplicationDbContextInMemoryFactory.InitializeContext();
            var asphaltBaseService            = new AsphaltBaseService(context);
            var createAsphaltBaseServiceModel = new CreateAsphaltBaseServiceModel();
            var asphaltBaseName               = "ABN 1";

            createAsphaltBaseServiceModel.Name = asphaltBaseName;

            await asphaltBaseService.CreateAsync(createAsphaltBaseServiceModel);

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

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

            await this.SeedDataAsync(context);

            var asphaltBaseService            = new AsphaltBaseService(context);
            var createAsphaltBaseServiceModel = new CreateAsphaltBaseServiceModel();
            var asphaltBaseName = "ABN 1";

            createAsphaltBaseServiceModel.Name = asphaltBaseName;
            var message = "Asphalt base's name already exists.";

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

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