예제 #1
0
        public async Task DeleteAsync_WithNonExistentId_ReturnsFalse()
        {
            // Arrange
            var testId = Guid.NewGuid().ToString();

            var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>()
                                              .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                              .Options);

            context.CarManufacturers.AddRange(
                new CarManufacturer
            {
                Name = "OtherManufacturer1"
            },
                new CarManufacturer
            {
                Name = "OtherManufacturer2"
            });

            context.SaveChanges();

            var manufacturersService = new ManufacturersService(new EfRepository <CarManufacturer>(context));

            // Act
            var result = await manufacturersService.DeleteAsync(testId);

            // Assert
            Assert.False(result);

            var dbCount = await context.CarManufacturers.CountAsync();

            Assert.Equal(2, dbCount);
        }
예제 #2
0
        public async Task DeleteAsync_WithCarModels_DoesNotDelete()
        {
            // Arrange
            const string testName = "TestName";

            var manufacturer = new CarManufacturer
            {
                Name   = testName,
                Models = new List <CarModel>
                {
                    new CarModel
                    {
                        Model = "TestModel"
                    }
                }
            };

            var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>()
                                              .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                              .Options);

            context.CarManufacturers.AddRange(
                manufacturer,
                new CarManufacturer
            {
                Name = "OtherManufacturer1"
            },
                new CarManufacturer
            {
                Name = "OtherManufacturer2"
            });

            context.SaveChanges();

            var manufacturersService = new ManufacturersService(new EfRepository <CarManufacturer>(context));

            // Act
            var result = await manufacturersService.DeleteAsync(manufacturer.Id);

            // Assert
            Assert.False(result);

            var existsInDb = await context.CarManufacturers.AnyAsync(m => m.Name == testName);

            Assert.True(existsInDb);

            var dbCount = await context.CarManufacturers.CountAsync();

            Assert.Equal(3, dbCount);
        }