Ejemplo n.º 1
0
        public async Task CreateTest_WithProperTest_ShouldCreateCorrectly()
        {
            //Arrange

            var id          = 1;
            var name        = "New test";
            var description = "New test description";

            var testModel = new InterviewerTestBindingModel
            {
                Id          = id,
                Name        = name,
                Description = description
            };

            //Act
            await this.service.Create(testModel);

            //Assert

            var test = this.dbContext.Tests.First();

            Assert.AreEqual(name, test.Name);
            Assert.AreEqual(description, test.Description);
        }
        public async Task Create(InterviewerTestBindingModel model)
        {
            var test = this.Mapper.Map <Test>(model);

            await this.DbContext.Tests.AddAsync(test);

            await this.DbContext.SaveChangesAsync();
        }
Ejemplo n.º 3
0
        public async Task SetStatusInterview_WithProperStatus_ShouldSetCorrectly()
        {
            //Arrange

            var applicantId        = 1;
            var applicantFirstName = "New applicant firstName";
            var applicantLastName  = "New applicant lastName";

            var testId          = 1;
            var testDescription = "Description";
            var testUrl         = "https://www.mysite.bg/";
            var ResultUrl       = "https://www.resultMyTest.bg/";

            var applicantModel = new CreateApplicantBindingModel()
            {
                Id        = applicantId,
                FirstName = applicantFirstName,
                LastName  = applicantLastName,
            };

            await this.applicants.Create(applicantModel);

            var testModel = new InterviewerTestBindingModel()
            {
                Id          = testId,
                Description = testDescription,
                Url         = testUrl
            };

            await this.tests.Create(testModel);

            var interviewModel = new CreateOnlineInterviewBindingModel()
            {
                Id          = 1,
                ApplicantId = applicantModel.Id,
                TestId      = testModel.Id
            };

            await this.interviews.CreateOnline(interviewModel);

            var setResultModel = new AdminSetApplicantTestResult()
            {
                ApplicantId = applicantModel.Id,
                InterviewId = interviewModel.Id,
                ResultUrl   = ResultUrl
            };

            //Act

            await this.interviews.SetTestResult(setResultModel);

            //Assert

            var interview = this.dbContext.Interviews.First();

            Assert.AreEqual(ResultUrl, interview.Result.ResultUrl);
        }
Ejemplo n.º 4
0
        public async Task CreateApplicant_WithNullApplicant_ShouldThrowException()
        {
            //Arrange

            InterviewerTestBindingModel testtModel = null;

            //Act
            Func <Task> createTest = () => this.service.Create(testtModel);

            //Assert
            await Assert.ThrowsExceptionAsync <ArgumentNullException>(createTest);
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Create(InterviewerTestBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            await this.tests.Create(model);

            TempData.AddSuccessMessage(String.Format(CreateTestMessage, model.Name));

            return(RedirectToAction(nameof(All)));
        }
        public async Task CreateInterview_WithProperInterview_ShouldCreateCorrectly()
        {
            //Arrange

            var applicantId        = 1;
            var applicantFirstName = "New applicant firstName";
            var applicantLastName  = "New applicant lastName";

            var testId          = 1;
            var testDescription = "Description";
            var testUrl         = "https://www.mysite.bg/";

            var applicantModel = new CreateApplicantBindingModel()
            {
                Id        = applicantId,
                FirstName = applicantFirstName,
                LastName  = applicantLastName,
            };

            await this.applicants.Create(applicantModel);

            var testModel = new InterviewerTestBindingModel()
            {
                Id          = testId,
                Description = testDescription,
                Url         = testUrl
            };

            await this.tests.Create(testModel);

            var interviewModel = new CreateOnlineInterviewBindingModel()
            {
                ApplicantId = applicantModel.Id,
                TestId      = testModel.Id
            };

            //Act
            await this.interviews.CreateOnline(interviewModel);

            //Assert

            var interview = this.dbContext.Interviews.First();

            Assert.AreEqual(applicantModel.Id, interview.ApplicantId);
            Assert.AreEqual(testModel.Id, interview.TestId);
        }
        public async Task OnlineInterviewDetails_WithInterviewId_ShouldReturnInterview()
        {
            //Arrange

            var applicantId        = 1;
            var applicantFirstName = "New applicant firstName";
            var applicantLastName  = "New applicant lastName";

            var testId          = 1;
            var testDescription = "Description";
            var testUrl         = "https://www.mysite.bg/";

            var applicantModel = new CreateApplicantBindingModel()
            {
                Id        = applicantId,
                FirstName = applicantFirstName,
                LastName  = applicantLastName,
            };

            await this.applicants.Create(applicantModel);

            var testModel = new InterviewerTestBindingModel()
            {
                Id          = testId,
                Description = testDescription,
                Url         = testUrl
            };

            await this.tests.Create(testModel);

            var interviewModel = new CreateOnlineInterviewBindingModel()
            {
                Id          = 1,
                ApplicantId = applicantModel.Id,
                TestId      = testModel.Id
            };

            await this.interviews.CreateOnline(interviewModel);

            //Act
            var interview = this.interviews.OnlineDetails(1);

            //Assert

            Assert.AreEqual(1, interview.Id);
        }
        public async Task OnlineInterviewDetails_WithNotExistingInterview_ShouldThrowException()
        {
            //Arrange

            var applicantId        = 1;
            var applicantFirstName = "New applicant firstName";
            var applicantLastName  = "New applicant lastName";

            var testId          = 1;
            var testDescription = "Description";
            var testUrl         = "https://www.mysite.bg/";

            var applicantModel = new CreateApplicantBindingModel()
            {
                Id        = applicantId,
                FirstName = applicantFirstName,
                LastName  = applicantLastName,
            };

            await this.applicants.Create(applicantModel);

            var testModel = new InterviewerTestBindingModel()
            {
                Id          = testId,
                Description = testDescription,
                Url         = testUrl
            };

            await this.tests.Create(testModel);

            var interviewModel = new CreateOnlineInterviewBindingModel()
            {
                Id          = 1,
                ApplicantId = applicantModel.Id,
                TestId      = testModel.Id
            };

            await this.interviews.CreateOnline(interviewModel);

            //Act
            Func <Task> interview = () => this.interviews.OnlineDetails(2);

            //Assert
            await Assert.ThrowsExceptionAsync <InvalidOperationException>(interview);
        }
Ejemplo n.º 9
0
        public void Create_WithValidApplicant_ShouldCallService()
        {
            //Arrange
            var model = new InterviewerTestBindingModel();

            bool serviceCalled = false;

            var mockRepository = new Mock <IInterviewerTestsService>();

            mockRepository.Setup(r => r.Create(model))
            .Callback(() => serviceCalled = true);

            var controller = new TestsController(mockRepository.Object);

            //Act
            var result = controller.Create(model);

            //Assert
            Assert.IsTrue(serviceCalled);
        }