コード例 #1
0
        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());
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }