示例#1
0
        public async Task UpdateAsyncCorrectlyUpdatesInformation()
        {
            AutoMapperInitializer.InitializeMapper();
            var context = InMemoryDbContextInitializer.InitializeContext();
            await context.JobLevels.AddRangeAsync(this.SeedData());

            await context.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <JobLevel>(context);

            var service = new JobLevelsService(repository);

            var model = new EditViewModel
            {
                Name      = "NewName",
                IsDeleted = true,
            };

            var result = await service.UpdateAsync(1, model);

            Assert.NotEqual(-1, result);

            var dbRecord = await context.JobLevels.FindAsync(1);

            Assert.NotEqual("First", dbRecord.Name);
            Assert.NotNull(dbRecord.DeletedOn);
            Assert.True(dbRecord.IsDeleted);
        }
示例#2
0
        public async Task DeleteFailsWhenIdNotInDatabase()
        {
            AutoMapperInitializer.InitializeMapper();
            var context    = InMemoryDbContextInitializer.InitializeContext();
            var repository = new EfDeletableEntityRepository <JobLevel>(context);

            var service = new JobLevelsService(repository);
            var result  = await service.DeleteAsync(100);

            Assert.False(result);
        }
示例#3
0
        public async Task GetAllReturnsCorrectNumberOfRecords()
        {
            AutoMapperInitializer.InitializeMapper();
            var context = InMemoryDbContextInitializer.InitializeContext();
            await context.JobLevels.AddRangeAsync(this.SeedData());

            await context.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <JobLevel>(context);

            var service = new JobLevelsService(repository);
            var result  = service.GetAll <EditViewModel>();

            Assert.Equal(2, result.Count());
        }
示例#4
0
        public async Task UpdateAsyncFailsWhenIdNotInDb()
        {
            AutoMapperInitializer.InitializeMapper();
            var context    = InMemoryDbContextInitializer.InitializeContext();
            var repository = new EfDeletableEntityRepository <JobLevel>(context);

            var service = new JobLevelsService(repository);

            var model = new EditViewModel
            {
                Name      = "NewName",
                IsDeleted = true,
            };

            var result = await service.UpdateAsync(100, model);

            Assert.Equal(-1, result);
        }
示例#5
0
        public async Task GetDetailsReturnsCorrectInformation()
        {
            AutoMapperInitializer.InitializeMapper();
            var context = InMemoryDbContextInitializer.InitializeContext();
            await context.JobLevels.AddRangeAsync(this.SeedData());

            await context.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <JobLevel>(context);

            var service = new JobLevelsService(repository);

            var result = service.GetDetails <EditViewModel>(1);

            Assert.NotNull(result);
            Assert.Equal(1, result.Id);
            Assert.Equal("First", result.Name);
            Assert.False(result.IsDeleted);
        }
示例#6
0
        public async Task CreateSuccessfullyAddsNewLevel()
        {
            AutoMapperInitializer.InitializeMapper();
            var context    = InMemoryDbContextInitializer.InitializeContext();
            var repository = new EfDeletableEntityRepository <JobLevel>(context);

            var service = new JobLevelsService(repository);

            var model = new CreateViewModel
            {
                Name      = "New Level",
                IsDeleted = true,
            };

            int id = await service.CreateAsync(model);

            Assert.NotEqual(-1, id);
            Assert.Equal(1, context.JobLevels.IgnoreQueryFilters().Count());
        }
示例#7
0
        public async Task DeleteMarksRecordAsDeleted()
        {
            AutoMapperInitializer.InitializeMapper();
            var context = InMemoryDbContextInitializer.InitializeContext();
            await context.JobLevels.AddAsync(new JobLevel { Id = 1, Name = "Sector", IsDeleted = false });

            await context.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <JobLevel>(context);

            var service = new JobLevelsService(repository);

            var result = await service.DeleteAsync(1);

            var dbRecord = await context.JobLevels.FindAsync(1);

            Assert.True(result);
            Assert.True(dbRecord.IsDeleted);
            Assert.NotNull(dbRecord.DeletedOn);
            Assert.Equal(1, context.JobLevels.IgnoreQueryFilters().Count());
        }