public async Task DeleteShouldDeleteJobPost() { JobPost jobPost = new JobPost() { Id = 1, }; var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "JobDeleteDb").Options; var dbContext = new ApplicationDbContext(options); dbContext.JobPosts.Add(jobPost); await dbContext.SaveChangesAsync(); var repository = new EfDeletableEntityRepository <JobPost>(dbContext); var service = new JobPostsService(repository, null); Assert.Equal(1, service.GetJobCount()); await service.DeleteAsync(jobPost); Assert.Equal(0, service.GetJobCount()); }
public async Task JobCountShouldReturnCorrectNumberUsingDbContext() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "JobPostTestDb").Options; var dbContext = new ApplicationDbContext(options); dbContext.JobPosts.Add(new JobPost()); dbContext.JobPosts.Add(new JobPost()); dbContext.JobPosts.Add(new JobPost()); await dbContext.SaveChangesAsync(); var repository = new EfDeletableEntityRepository <JobPost>(dbContext); var service = new JobPostsService(repository, null); Assert.Equal(3, service.GetJobCount()); }
public void JobCountShouldReturnCorrectNumber() { var repository = new Mock <IDeletableEntityRepository <JobPost> >(); repository.Setup(posts => posts.All()) .Returns(new List <JobPost> { new JobPost(), new JobPost(), new JobPost(), }.AsQueryable()); var service = new JobPostsService(repository.Object, null); Assert.Equal(3, service.GetJobCount()); repository.Verify(x => x.All(), Times.Once); }
public async Task CreateShouldCreateJobPost() { string title = "Test 1"; string description = "Test Description"; string city = "City"; string country = "Country"; var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "JobPostCreateDb").Options; var dbContext = new ApplicationDbContext(options); var repository = new EfDeletableEntityRepository <JobPost>(dbContext); var tagRepository = new Mock <ITagService>(); var service = new JobPostsService(repository, tagRepository.Object); var id = await service.CreateAsync(title, description, city, country, 1, string.Empty); Assert.Equal(1, id); var jobCount = service.GetJobCount(); Assert.Equal(1, jobCount); var expected = new JobPost { Title = title, Description = description, City = city, Country = country, EmployerId = 1, }; var result = service.GetJobPost(id); Assert.True( expected.Title == result.Title && expected.Description == result.Description && expected.City == result.City && expected.Country == result.Country && expected.EmployerId == result.EmployerId); }