public async Task MarkJobPostingsAsDeleted()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString());

            var repository = new EfDeletableEntityRepository <JobPosting>(new ApplicationDbContext(options.Options));

            foreach (var item in this.GetJobPostingData())
            {
                await repository.AddAsync(item);

                await repository.SaveChangesAsync();
            }

            var service = new JobPostingsService(repository);

            var listIds = new List <string> {
                "2222"
            };

            await service.MarkJobPostingsAsDeleted(listIds);

            foreach (var id in listIds)
            {
                var user = repository.AllWithDeleted().Where(x => x.Id == id).FirstOrDefault();
                Assert.True(user.IsDeleted);
            }
        }
        public void GetJobPostingsCountTest()
        {
            var mockRepository = new Mock <IDeletableEntityRepository <JobPosting> >();

            mockRepository.Setup(x => x.All()).Returns(this.GetJobPostingData());

            var service = new JobPostingsService(mockRepository.Object);

            var check = service.GetJobPostingsCount("2");

            Assert.Equal(1, check);
        }
        public void CheckIfIsDeletedTest()
        {
            var mockRepository = new Mock <IDeletableEntityRepository <JobPosting> >();

            mockRepository.Setup(x => x.AllWithDeleted()).Returns(this.GetJobPostingData());

            var service = new JobPostingsService(mockRepository.Object);

            var check = service.CheckIfIsDeleted("2222");

            Assert.False(check);
        }
        public void GetAllJobPostingsByUserIdTest()
        {
            var mockRepository = new Mock <IDeletableEntityRepository <JobPosting> >();

            mockRepository.Setup(x => x.All()).Returns(this.GetJobPostingData());

            var service = new JobPostingsService(mockRepository.Object);

            var cityNames = service.GetAllJobPostingsByUserId("22");

            var result = new List <string> {
                "2222"
            }.OrderBy(n => n);

            Assert.Equal(result, cityNames);
        }
        public async Task PostCompanyInfoAsyncTest()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString());

            var repository = new EfDeletableEntityRepository <JobPosting>(new ApplicationDbContext(options.Options));

            foreach (var item in this.GetJobPostingData())
            {
                await repository.AddAsync(item);

                await repository.SaveChangesAsync();
            }

            var service = new JobPostingsService(repository);

            var inputModel = new JobPostingInputModel
            {
                JobTitle             = "Game Developer",
                Description          = "cfbdsuicbsioachnishc",
                Location             = "ncscnskojcos",
                Requirements         = "bciusdbciosbchishncs",
                Skills               = "bhisudbc isubc is",
                Responsibilities     = "cbsucbn sicsinhcsnhucv dxicjnis",
                Benefits             = "bcsuigvfdgvdvdvdfcdz",
                Category             = "Game",
                JobPostingCategoryId = "1",
                CompanyInfoId        = "11",
                VacancyType          = "Full time",
                CityId               = "111",
                Instructions         = "nhcidoshncsdhncsd",
                MaxSalary            = 2500,
                MinSalary            = 1000,
            };

            await service.PostJobPostingAsync(inputModel);

            var candidatesCount = repository.All().ToList().Count;

            Assert.Equal(2, candidatesCount);
        }