コード例 #1
0
        public async Task DeleteShouldDeleteTheCorrectMaintenanceService()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "DeleteMaintenanceServiceDeleteTestDb").Options;

            using var dbContext = new ApplicationDbContext(options);
            using var maintenanceServiceRepository = new EfDeletableEntityRepository <MaintenanceService>(dbContext);
            using var propertyRepository           = new EfDeletableEntityRepository <Property>(dbContext);
            using var vendorRepository             = new EfDeletableEntityRepository <Vendor>(dbContext);
            var maintenanceServicesService = new MaintenanceServicesService(maintenanceServiceRepository, propertyRepository, vendorRepository);

            var maintenanceServiceId   = 3;
            var maintenanceServiceName = "HVAC Service";

            dbContext.MaintenanceServices.Add(new MaintenanceService()
            {
                Id   = maintenanceServiceId,
                Name = maintenanceServiceName,
            });
            await dbContext.SaveChangesAsync();

            var countBefore = dbContext.MaintenanceServices.Count();

            var vendor = maintenanceServicesService.DeleteAsync(maintenanceServiceId);

            var countAfter = dbContext.MaintenanceServices.Count();

            Assert.Equal(countBefore, countAfter + 1);
        }
コード例 #2
0
        public async Task GetCountShouldReturnCorrectNumberUsingDbContext()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "MaintenanceServicesCountTestDb").Options;

            using var dbContext = new ApplicationDbContext(options);
            dbContext.MaintenanceServices.Add(new MaintenanceService());
            await dbContext.SaveChangesAsync();

            using var maintenanceServicesRepository = new EfDeletableEntityRepository <MaintenanceService>(dbContext);
            using var propertyRepository            = new EfDeletableEntityRepository <Property>(dbContext);
            using var vendorRepository = new EfDeletableEntityRepository <Vendor>(dbContext);

            var service = new MaintenanceServicesService(maintenanceServicesRepository, propertyRepository, vendorRepository);

            Assert.Equal(1, service.GetCount());
        }
コード例 #3
0
        public async Task CreateShouldSucceed()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "MaintenanceServicesTestDb").Options;

            using var dbContext = new ApplicationDbContext(options);
            using var maintenanceServiceRepository = new EfDeletableEntityRepository <MaintenanceService>(dbContext);
            using var propertyRepository           = new EfDeletableEntityRepository <Property>(dbContext);
            using var vendorRepository             = new EfDeletableEntityRepository <Vendor>(dbContext);
            var maintenanceServicesService = new MaintenanceServicesService(maintenanceServiceRepository, propertyRepository, vendorRepository);

            var model = new CreateMaintenanceServiceViewModel()
            {
                Name = "HVAC Service",
            };

            await maintenanceServicesService.CreateAsync(model);

            var createdModel = dbContext.MaintenanceServices.FirstOrDefault(p => p.Name == "HVAC Service");

            Assert.NotNull(createdModel);
        }