Beispiel #1
0
 public JobApplicationServiceTest()
 {
     _jobApplicationRepository = Substitute.For <IRepository <JobApplication> >();
     _candidateService         = Substitute.For <ICandidateService>();
     _campaignService          = Substitute.For <ICampaignService>();
     _jobApplicationService    = new JobApplicationService(_jobApplicationRepository, _candidateService, _campaignService);
 }
Beispiel #2
0
        public ActionResult Apply(JOB_APPLICATION apply)
        {
            JobApplicationService service = new JobApplicationService();

            if (service.Create(apply))
            {
                return(RedirectToAction("Index", "Home"));
            }
            return(View());
        }
        public void AddNewJobApplication()
        {
            JobApplicationService.AddJobApplicationAsync(
                new JobApplicationCreateModel
            {
                JobApplicationRef = Guid.NewGuid().ToString(),
                AppliedDateTime   = jobApplication.AppliedDateTime,
                Description       = jobApplication.Description,
                Title             = jobApplication.Title,
            });

            OnAdd.InvokeAsync();
        }
Beispiel #4
0
 public ReportsController(
     ILogger <ReportsController> logger,
     UserManager <JobProfile> userManager,
     RoleManager <IdentityRole> roleManager,
     JobListingService jobListingService,
     JobApplicationService jobApplicationService)
 {
     _logger                = logger;
     _roleManager           = roleManager;
     _userManager           = userManager;
     _jobListingService     = jobListingService;
     _jobApplicationService = jobApplicationService;
 }
Beispiel #5
0
        public ActionResult UpdateForm(JOB_APPLICATION apply)
        {
            JobApplicationService jobApplicationService = new JobApplicationService();

            if (jobApplicationService.update(apply))
            {
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                return(View("Apply", "Apply", new { id = apply.POST_ID }));
            }
        }
        public async void GivenAJobApplicationService_WhenGetById_ThenRepoExecutesGetById()
        {
            //Given
            var testGuid     = Guid.NewGuid();
            var mockRepo     = Substitute.For <JobApplicationRepository>();
            var mockRepoFile = Substitute.For <FileRepository>();

            mockRepo.GetById(testGuid)
            .Returns(Task.FromResult(new JobApplication(Guid.NewGuid(), Guid.NewGuid())));
            var mockLogger             = Substitute.For <ILoggerManager>();
            var _jobApplcaitionService = new JobApplicationService(mockRepo, mockRepoFile, mockLogger);
            //When
            await _jobApplcaitionService.GetById(testGuid.ToString());

            //Then
            await mockRepo.Received().GetById(testGuid);
        }
        public async void GivenCreateNewJobApplication_WhenCreatingNewJobApplication_ThenNewJobApplicationIsCreated()
        {
            var testJobApp = new JobApplication(Guid.NewGuid(), Guid.NewGuid());
            //Given
            var mockRepo     = Substitute.For <JobApplicationRepository>();
            var mockRepoFile = Substitute.For <FileRepository>();

            mockRepo.Create(testJobApp)
            .Returns(Task.FromResult(testJobApp));
            var mockLogger             = Substitute.For <ILoggerManager>();
            var _jobApplcaitionService = new JobApplicationService(mockRepo, mockRepoFile, mockLogger);
            //When
            var createdJobapp = await _jobApplcaitionService.Create(testJobApp);


            //Then
            Assert.Equal(createdJobapp, testJobApp);
        }
Beispiel #8
0
        public ActionResult ApplyForm(String PERSONAL_ID, String PHONE, int postId)
        {
            ViewBag.POST_ID     = postId;
            ViewBag.PHONE       = PHONE;
            ViewBag.PERSONAL_ID = PERSONAL_ID;
            JOB_APPLICATION application = JobApplicationService.findByPersonalIdAndPhone(PERSONAL_ID, PHONE);

            ViewBag.application = application;
            if (application == null)
            {
                return(View("ApplyForm"));
            }
            else
            {
                TempData["Application"] = application;
                return(View("UpdateForm"));
            }
        }
Beispiel #9
0
        public void JobApplicationServiceTests()
        {
            // Addition
            var unit = new UnitOfWork(GetInMemoryOptions());
            var jobApplicationService = new JobApplicationService(unit, new JobApplicationQueryObject(unit));
            var c1 = new JobApplication()
            {
                Text   = "Lol",
                Status = Status.Unresolved
            };

            Assert.Null(c1.Id);
            jobApplicationService.Create(c1);
            unit.SaveChanges();
            Assert.NotEqual(-1, c1.Id);
            Assert.Equal("Lol", unit.JobApplicationRepository.GetById(c1.Id ?? -1).Text);

            Seeder.Seed(unit);

            var c2 = new JobApplication()
            {
                Text = "New addition"
            };

            Assert.Null(c2.Id);
            jobApplicationService.Create(c2);
            unit.SaveChanges();
            Assert.NotEqual(-1, c2.Id);
            Assert.Equal("New addition", unit.JobApplicationRepository.GetById(c2.Id ?? -1).Text);

            // UpdateStaus
            Assert.Equal(Status.Unresolved, unit.JobApplicationRepository.GetById(c1.Id ?? -1).Status);
            jobApplicationService.UpdateStatus(c1.Id ?? -1, Status.Accepted);
            unit.SaveChanges();
            Assert.Equal(Status.Accepted, unit.JobApplicationRepository.GetById(c1.Id ?? -1).Status);

            // Delete
            int size = unit.JobApplicationRepository.GetAll().Count();

            jobApplicationService.Delete(c1.Id ?? -1);
            unit.SaveChanges();
            Assert.Equal(size - 1, unit.JobApplicationRepository.GetAll().Count());
        }
        public async void GivenAJobApplicationService_WhenGetAll_ThenRepoExecutesGetAll()
        {
            //Given
            var mockRepo     = Substitute.For <JobApplicationRepository>();
            var mockRepoFile = Substitute.For <FileRepository>();

            List <JobApplication> expectedJobApplications = new List <JobApplication>()
            {
                new JobApplication(Guid.NewGuid(), Guid.NewGuid())
            };

            mockRepo.GetAll()
            .Returns(Task.FromResult(expectedJobApplications));
            var mockLogger             = Substitute.For <ILoggerManager>();
            var _jobApplcaitionService = new JobApplicationService(mockRepo, mockRepoFile, mockLogger);

            //When
            var actualJobApplications = await _jobApplcaitionService.GetAll();

            //Then
            Assert.Equal(expectedJobApplications, actualJobApplications);
        }
Beispiel #11
0
 // GET: Test
 public ActionResult Index()
 {
     if (Session["username"] != null)
     {
         UsrService      usrService  = new UsrService();
         int             apply_id    = usrService.getApplyIdByUsername(Session["username"].ToString());
         JOB_APPLICATION application = JobApplicationService.findByUsername(Session["username"].ToString());
         ViewBag.Application = application;
         TEST test = TestService.getTestByApplyId(apply_id);
         ViewBag.Test = test;
         //if start time is later than now and end time is ealier than now let the candidate have link to do test
         if (DateTime.Compare(DateTime.Now, test.START_TIME) > 0 && DateTime.Compare(DateTime.Now, test.END_TIME) < 0)
         {
             ViewBag.link = TestService.getIndexByApplyId(apply_id);
         }
         //timer
         TimeSpan timeLeft = test.END_TIME - test.START_TIME;
         ViewBag.TimeLeft = timeLeft;
         return(View());
     }
     return(RedirectToAction("Login", "Home"));
 }
Beispiel #12
0
        public JobApplicationServiceTest()
        {
            _jobApplicationRepository = Substitute.For <IRepository <JobApplicationEntity> >();
            _mapper       = Substitute.For <IMapper>();
            _userResolver = Substitute.For <IUserResolverService>();
            _user         = new JobApplicationUser("*****@*****.**");

            _jobApplicationService = new JobApplicationService(_jobApplicationRepository, _mapper, _userResolver);

            _jobApplications = new[]
            {
                new JobApplication {
                    CompanyName = "Company 1", ApplicationDate = new DateTime(2017, 11, 13), Status = Status.Rejected
                },
                new JobApplication {
                    CompanyName = "Company 2", ApplicationDate = new DateTime(2017, 11, 14), Status = Status.Applied
                },
                new JobApplication {
                    CompanyName = "Company 3", ApplicationDate = new DateTime(2017, 11, 14), Status = Status.Interview
                },
                new JobApplication {
                    CompanyName = "Company 4", ApplicationDate = new DateTime(2017, 10, 9), Status = Status.Offer
                }
            };

            _jobApplicationEntities = new List <JobApplicationEntity>();
            foreach (var jobApplication in _jobApplications)
            {
                var jobApplicationEntity = new JobApplicationEntity
                {
                    Owner           = _user,
                    CompanyName     = jobApplication.CompanyName,
                    ApplicationDate = jobApplication.ApplicationDate,
                    CurrentStatus   = jobApplication.Status
                };
                _jobApplicationEntities.Add(jobApplicationEntity);
            }
        }
        public async void GivenRejectJobApplication_WhenRejectingAJobApplication_ThenJobApplicationIsRejected()
        {
            var testGuid   = Guid.NewGuid();
            var testJobApp = new JobApplication(testGuid, Guid.NewGuid(), Guid.NewGuid(), 2);

            //Given
            var mockRepo = Substitute.For <JobApplicationRepository>();

            mockRepo.GetById(testGuid)
            .Returns(Task.FromResult(testJobApp));
            var mockRepoFile = Substitute.For <FileRepository>();

            mockRepo.Update(testJobApp)
            .Returns(Task.FromResult(testJobApp));
            var mockLogger = Substitute.For <ILoggerManager>();

            var _jobApplcaitionService = new JobApplicationService(mockRepo, mockRepoFile, mockLogger);
            //When
            await _jobApplcaitionService.UpdateStatusOfJobApplication(testGuid.ToString(), 3);


            //Then
            Assert.True(testJobApp.StatusId == 3);
        }
Beispiel #14
0
 public JobApplicationManager(MongoClient dbClient)
 {
     jobAppService      = new JobApplicationService(dbClient);
     userAccountService = new UserAccountService(dbClient);
 }
Beispiel #15
0
        public void JobApplicationFacadeTest()
        {
            var unit = new UnitOfWork(GetInMemoryOptions());

            Seeder.Seed(unit);

            var jobApplicationService = new JobApplicationService(unit, new JobApplicationQueryObject(unit));
            var jobApplicationFacade  = new JobApplicationFacade(unit, mapper,
                                                                 new JobApplicationService(unit, new JobApplicationQueryObject(unit)));

            var jason = unit.JobSeekerRepository.GetById(3);

            Assert.Equal("Jason", jason.Name);
            var application = jobApplicationService.GetByApplicantIdAsync(jason.Id ?? -1).Result.First();


            // Null ID get
            var excp1 = Assert.Throws <AggregateException>(() =>
                                                           jobApplicationFacade.GetByApplicantIdAsync(new JobApplicationDto()).Wait());

            Assert.Contains("ApplicantId can't be null!",
                            excp1.Message);

            excp1 = Assert.Throws <AggregateException>(() =>
                                                       jobApplicationFacade.GetByApplicantIdAndStatusAsync(new JobApplicationDto(), Status.Rejected).Wait());
            Assert.Contains("ApplicantId can't be null!",
                            excp1.Message);

            excp1 = Assert.Throws <AggregateException>(() =>
                                                       jobApplicationFacade.GetByJobOfferIdAsync(new JobApplicationDto()).Wait());
            Assert.Contains("JobOfferId can't be null!",
                            excp1.Message);

            excp1 = Assert.Throws <AggregateException>(() =>
                                                       jobApplicationFacade.GetByJobOfferIdAndStatusAsync(new JobApplicationDto(), Status.Rejected).Wait());
            Assert.Contains("JobOfferId can't be null!",
                            excp1.Message);

            // Null ID edit/update
            var excp2 = Assert.Throws <AggregateException>(() =>
                                                           jobApplicationFacade.UpdateStatusAsync(mapper
                                                                                                  .Map <JobApplicationDto>(new JobApplication()), Status.Rejected).Wait());

            Assert.Contains("JobApplicationId can't be null!",
                            excp2.Message);

            // Null ID delete
            excp2 = Assert.Throws <AggregateException>(() =>
                                                       jobApplicationFacade.DeleteAsync(mapper
                                                                                        .Map <JobApplicationDto>(new JobApplication())).Wait());
            Assert.Contains("JobApplicationId can't be null!",
                            excp2.Message);

            // Addition with conflicting ID
            // This invalidates the database
            var id1 = unit.JobApplicationRepository.GetById(1);

            Assert.NotNull(id1); // makes sure company with id 1 is already in database
            var excp = Assert.Throws <AggregateException>(() =>
                                                          jobApplicationFacade.ApplyToJobOfferAsync(new JobApplicationDto()
            {
                Id = 1
            }).Wait());

            Assert.Contains("The instance of entity type 'JobApplication' cannot be tracked " +
                            "because another instance with the same key value for {'Id'} is already being tracked.",
                            excp.Message);

            unit.Dispose();
        }
 public JobApplicationFacade(UnitOfWork unitOfWork, IMapper mapper, JobApplicationService jobApplicationService)
 {
     this.unitOfWork            = unitOfWork;
     this.mapper                = mapper;
     this.jobApplicationService = jobApplicationService;
 }
Beispiel #17
0
 public JobPostingManager(MongoClient _db)
 {
     _jobPostingService = new JobPostingService(_db);
     _jobAppService     = new JobApplicationService(_db);
 }
 public JobApplicationsController(JobApplicationService jobApplicationService)
 {
     _jobApplicationService = jobApplicationService;
 }
Beispiel #19
0
        public JobApplicationServiceTest()
        {
            MongoClient client = new MongoClient(MONGODB_TEST_CONNECTION_STRING);

            jas = new JobApplicationService(client);
        }