Exemple #1
0
        public void TestApplicantInfo_ReturningCorrectView_ForException()
        {
            Mock <HttpSessionStateBase> session = new Mock <HttpSessionStateBase>();

            session.Setup(s => s["studentId"]).Returns(0);

            Mock <HttpContextBase> httpContext = new Mock <HttpContextBase>();

            httpContext.SetupGet(c => c.Session).Returns(session.Object);

            ControllerContext ctx = new ControllerContext();

            ctx.HttpContext = httpContext.Object;

            Mock <IStudentInfoBusinessAccess> businesslayer = new Mock <IStudentInfoBusinessAccess>();
            var ex = new Exception();

            businesslayer.Setup(x => x.DisplayStudentInfoByIdFromDatabase(0)).Throws(ex);

            ApplicantController obj = new ApplicantController(businesslayer.Object);

            obj.ControllerContext = ctx;
            var actResult = obj.ApplicantInfo() as ViewResult;

            Assert.That(actResult.ViewName, Is.EqualTo("Error"));
        }
 public void OnInit()
 {
     _mapper = UnitTestUtility.CreateMapper();
     _applicantRepository = new InMemoryApplicantRepository(_mapper);
     _applicantService    = new ApplicantService(_applicantRepository);
     _systemUnderTest     = new ApplicantController(_applicantService, _logger);
 }
Exemple #3
0
        private async void RemoveApplicantBtnClick(object sender, RoutedEventArgs e)
        {
            MessageBoxResult messageBoxResult = MessageBox
                                                .Show($"Do you want to delete " +
                                                      $"{this.applicant.FirstName} " +
                                                      $"{this.applicant.LastName}  " +
                                                      $"from applicants?", "Remove Applicant",
                                                      MessageBoxButton.YesNo);

            switch (messageBoxResult)
            {
            case MessageBoxResult.Yes:
                ApplicantController applicantController = new ApplicantController();
                this.applicant.Deleted = true;
                await applicantController.UpdateApplicant(this.applicant.Id, this.applicant);

                PersonsListWindow.ApplList.ItemsSource = await applicantController.GetAllAsync();

                break;

            case MessageBoxResult.No:
                break;

            default:
                break;
            }
        }
        private async void OnFindBtnClicked(object sender, RoutedEventArgs e)
        {
            ApplicantController       appController = new ApplicantController();
            List <ApplicantViewModel> filteredList  = new List <ApplicantViewModel>();

            filteredList = await appController.GetAllAsync();

            if (!string.IsNullOrEmpty(FirstNameTextBox.Text))
            {
                filteredList = filteredList
                               .Where(a => a.FirstName.ToLower()
                                      .StartsWith(FirstNameTextBox.Text.ToLower()))
                               .ToList();
            }
            if (!string.IsNullOrEmpty(LastNameTextbox.Text))
            {
                filteredList = filteredList
                               .Where(a => a.LastName.ToLower()
                                      .StartsWith(LastNameTextbox.Text.ToLower()))
                               .ToList();
            }
            if (!string.IsNullOrEmpty(LessonsComboBox.Text))
            {
                filteredList = filteredList
                               .Where(a => a.Technology.Name == LessonsComboBox.Text)
                               .ToList();
            }

            ApplList.ItemsSource = filteredList;
        }
        public void GetIndex_ExpectSuccess()
        {
            //arrange
            var mockApplicantRepo = new Mock <IApplicantRepository>();
            var mockUnitOfWork    = new Mock <IUnitOfWork>();

            var applicantList = new List <Applicant>()
            {
                new Applicant {
                    Id = 1, FirstName = "Ben", LastName = "Runchey", MiddleName = "John"
                },
                new Applicant {
                    Id = 2, FirstName = "David", LastName = "O'Brien", MiddleName = "Something Irish?"
                }
            };

            mockApplicantRepo.Setup(m => m.GetAll()).Returns(applicantList);
            var appController = new ApplicantController(mockApplicantRepo.Object, mockUnitOfWork.Object);

            //act
            var result = appController.Index() as ViewResult;

            // Assert
            Assert.IsNotNull(result, "Should have returned a ViewResult");
            Assert.AreEqual("", result.ViewName, "View name should have been blank");

            var applicants = result.ViewData.Model;

            Assert.AreSame(applicantList, applicants);
        }
        public void TestPost()
        {
            List <Applicant> applicantList = new List <Applicant>();
            var newapplicant = new Applicant {
                Id = 3, FirstName = "ward", LastName = "bell", DOB = DateTime.Parse("1988/01/01"), GPA = 3.9m
            };

            applicantList.Add(newapplicant);

            IQueryable <Applicant> queryableAppplicants = applicantList.AsQueryable();

            var Repository = new Mock <IRepository>();

            Repository.Setup(x => x.CreateApplicant(newapplicant));

            // Arrange
            ApplicantController controller = new ApplicantController(Repository.Object);

            // Act
            var result = controller.PostApplicant(newapplicant);

            // Assert
            var response = result as OkNegotiatedContentResult <Applicant>;

            Assert.IsNotNull(response);
            var applicant = response.Content;

            Assert.AreEqual(3, applicant.Id);
        }
        public async Task Post_Creates_An_Applicant()
        {
            var newApplicant = new ApplicantModel {
                Age             = 24,
                Hired           = true,
                Name            = "John Doe",
                FamilyName      = "Smith",
                CountryOfOrigin = "Germany",
                EmailAddress    = "*****@*****.**",
                Address         = "Block 10A New State Avenue",
            };
            // Arrange - create the mock service
            Mock <IApplicantService> mock = new Mock <IApplicantService>();

            mock.Setup(m => m.Create(newApplicant)).ReturnsAsync(_applicant);

            // Arrange - create a controller
            ApplicantController target = new ApplicantController(mock.Object);

            // Action
            ApplicantModel result = GetViewModel <ApplicantModel>(await target.Post(newApplicant));

            // Assert
            Assert.Equal(1, result.ID);
            Assert.Equal("John Doe", result.Name);
            Assert.Equal("Smith", result.FamilyName);
            Assert.Equal("Block 10A New State Avenue", result.Address);
        }
        public void TestGetApplicant()
        {
            List <Applicant> applicantList = new List <Applicant>();
            var applicant1 = new Applicant {
                Id = 1, FirstName = "john", LastName = "papa", DOB = DateTime.Parse("1988/01/01"), GPA = 3.9m
            };
            var applicant2 = new Applicant {
                Id = 2, FirstName = "ward", LastName = "bell", DOB = DateTime.Parse("1988/01/01"), GPA = 3.9m
            };

            applicantList.Add(applicant1);
            applicantList.Add(applicant2);

            IQueryable <Applicant> queryableAppplicants = applicantList.AsQueryable();

            var Repository = new Mock <IRepository>();

            Repository.Setup(x => x.GetApplicant(1)).Returns(queryableAppplicants.FirstOrDefault(a => a.Id == 1));

            // Arrange
            ApplicantController controller = new ApplicantController(Repository.Object);

            // Act
            var result = controller.GetApplicant(1);

            // Assert
            var response = result as OkNegotiatedContentResult <Applicant>;

            Assert.IsNotNull(response);
            var applicant = response.Content;

            Assert.AreEqual(1, applicant.Id);
        }
        public async Task Put_Returns_NoContent_On_Successful_Update()
        {
            var applicant = new ApplicantModel {
                ID              = 1,
                Age             = 25,
                Hired           = true,
                Name            = "James",
                FamilyName      = "Smith",
                CountryOfOrigin = "Nigeria",
                EmailAddress    = "*****@*****.**",
                Address         = "Block 10B New State Avenue",
            };
            // Arrange - create the mock service
            Mock <IApplicantService> mock = new Mock <IApplicantService>();

            mock.Setup(m => m.GetApplicantById(_applicant.ID)).ReturnsAsync(_applicant);
            mock.Setup(m => m.Update(applicant)).Returns(Task.CompletedTask);

            // Arrange - create a controller
            ApplicantController target = new ApplicantController(mock.Object);

            // Action
            var result = await target.Put(1, _applicant);

            // Assert
            Assert.IsType <NoContentResult>(result);
            mock.Verify(m => m.Update(_applicant), Times.Once());
        }
        public async Task ApplicantController_Update_And_GetAll()
        {
            var inMemoryDataContextOptions = new DbContextOptionsBuilder <ApplicantDBContext>()
                                             .UseInMemoryDatabase(databaseName: "Test_With_In_Memory_Database")
                                             .Options;

            var            mockLogger = new Mock <ILoggerFactory>();
            ILoggerFactory logger     = mockLogger.Object;



            var mockHttpContextAccessor = new Mock <IHttpContextAccessor>();
            var context = new DefaultHttpContext();



            mockHttpContextAccessor.Setup(_ => _.HttpContext).Returns(context);
            //Mock HeaderConfiguration
            IHttpContextAccessor httpContextAccessor = mockHttpContextAccessor.Object;

            var controllerContext = new ControllerContext()
            {
                HttpContext = context,
            };
            var applicantDBContext = new ApplicantDBContext(inMemoryDataContextOptions);
            var controller         = new ApplicantController(applicantDBContext, logger, httpContextAccessor)
            {
                ControllerContext = controllerContext
            };
            var newApplicant = new Applicant()
            {
                Address        = "Test",
                Age            = 24,
                CountryOfOrgin = "Uk",
                Email          = "*****@*****.**",
                Family         = "contoso",
                IsHired        = true,
                Name           = "Anoop"
            };

            var applicant = await controller.Post(newApplicant);

            Assert.IsInstanceOfType(applicant, typeof(Tuple <Applicant, Link>));


            newApplicant.Age = 30;

            await controller.Put(newApplicant.ID, newApplicant);


            var applicantlist = await controller.Get(newApplicant.ID);

            Assert.AreEqual(applicantlist.Age, 30);
        }
Exemple #11
0
        public void TestPostApplicationInfo_WhenStudentModelState_IsInvalid()
        {
            //Creating application Controller onj
            ApplicantController applicantController = new ApplicantController();

            applicantController.ModelState.AddModelError("xyz", "errorMessage");

            var result = applicantController.ApplicantInfo(student1) as ViewResult;


            Assert.That(result.ViewName, Is.EqualTo("ApplicantInfo"));
        }
        private async void OnApplicantBtnClick(object sender, RoutedEventArgs e)
        {
            PersonsListWindow AplicantsWindow = new PersonsListWindow(this);

            this.ExcelGrid.Visibility = Visibility.Visible;
            AplicantsWindow.lbltextApplicantList.Content = "Applicants";
            AplicantsWindow.TeacherComboBox.IsEnabled    = false;
            this.logoMicrosoft.Visibility = Visibility.Visible;
            HelperMethodes.UpdateGrid(MainGrid, MainFormColRight, AplicantsWindow, 70);
            ApplicantController appcontrol = new ApplicantController();

            AplicantsWindow.ApplList.ItemsSource = await appcontrol.GetAllAsync();
        }
        public async Task Get_Returns_NotFound_When_An_Applicant_Is_Not_Found()
        {
            // Arrange - create the mock service
            Mock <IApplicantService> mock = new Mock <IApplicantService>();

            mock.Setup(m => m.GetApplicantById(1)).ReturnsAsync(() => null);

            // Arrange - create a controller
            ApplicantController target = new ApplicantController(mock.Object);

            // Action
            var result = await target.Get(1);

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
        public async Task Put_Returns_BadRequest_For_Non_Matching_ID()
        {
            // Arrange - create the mock service
            Mock <IApplicantService> mock = new Mock <IApplicantService>();

            mock.Setup(m => m.Update(_applicant)).Returns(Task.CompletedTask);

            // Arrange - create a controller
            ApplicantController target = new ApplicantController(mock.Object);

            // Action
            var result = await target.Put(2, _applicant);

            // Assert
            Assert.IsType <BadRequestResult>(result);
            mock.Verify(m => m.Update(_applicant), Times.Never());
        }
        public async Task Get_Returns_An_Applicant()
        {
            // Arrange - create the mock service
            Mock <IApplicantService> mock = new Mock <IApplicantService>();

            mock.Setup(m => m.GetApplicantById(1)).ReturnsAsync(_applicant);

            // Arrange - create a controller
            ApplicantController target = new ApplicantController(mock.Object);

            // Action
            ApplicantModel result = GetViewModel <ApplicantModel>(await target.Get(1));

            // Assert
            Assert.Equal("John Doe", result.Name);
            Assert.Equal("Smith", result.FamilyName);
            Assert.Equal("Block 10A New State Avenue", result.Address);
        }
        public async Task Put_Returns_NotFound_When_An_Applicant_Is_Not_Found()
        {
            // Arrange - create the mock service
            Mock <IApplicantService> mock = new Mock <IApplicantService>();

            mock.Setup(m => m.GetApplicantById(_applicant.ID)).ReturnsAsync(() => null);
            mock.Setup(m => m.Update(_applicant)).Returns(Task.CompletedTask);

            // Arrange - create a controller
            ApplicantController target = new ApplicantController(mock.Object);

            // Action
            var result = await target.Put(1, _applicant);

            // Assert
            Assert.IsType <NotFoundResult>(result);
            mock.Verify(m => m.Update(_applicant), Times.Never());
        }
        public void GetApplicant_DoesNotExist_ExpectSuccess()
        {
            //arrange
            var mockApplicantRepo = new Mock <IApplicantRepository>();
            var mockUnitOfWork    = new Mock <IUnitOfWork>();

            Applicant nullApplicant = null;

            mockApplicantRepo.Setup(m => m.FindById(It.IsAny <int>())).Returns(nullApplicant);
            var appController = new ApplicantController(mockApplicantRepo.Object, mockUnitOfWork.Object);

            //act
            var result = appController.Applicant(1) as ViewResult;

            //Assert
            var applicant = result.ViewData.Model;

            Assert.IsNull(applicant);
        }
        public void TestPostApplicant_ExpectSuccess()
        {
            //arrange
            var mockApplicantRepo = new Mock <IApplicantRepository>();
            var mockUnitOfWork    = new Mock <IUnitOfWork>();

            mockApplicantRepo.Setup(m => m.Save(It.IsAny <Applicant>()));
            var appController = new ApplicantController(mockApplicantRepo.Object, mockUnitOfWork.Object);

            //act
            var applicantToUpdate = new Applicant()
            {
                Id = 2, FirstName = "George", LastName = "McFly", MiddleName = "X"
            };
            var result = appController.Applicant(applicantToUpdate) as RedirectToRouteResult;

            //assert
            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
Exemple #19
0
        public void TestPostApplicationInfo_WhenStudentIdIsNull()
        {
            Mock <HttpSessionStateBase> session = new Mock <HttpSessionStateBase>();

            session.Setup(s => s["studentId"]).Returns(null);

            //Mock<HttpRequestBase> session2 = new Mock<HttpRequestBase>();
            //session2.Setup(s => s["HTTP_X_FORWARDED_FOR"]).Returns("11");

            Mock <HttpContextBase> httpContext = new Mock <HttpContextBase>();

            httpContext.SetupGet(c => c.Session).Returns(session.Object);
            //httpContext.SetupGet(c => c.Request.ServerVariables).Returns(session2.Object);

            Mock <HttpRequestBase> request = new Mock <HttpRequestBase>();

            request.Setup(x => x.ServerVariables).Returns(new System.Collections.Specialized.NameValueCollection {
                { "HTTP_X_FORWARDED_FOR", "11" }
            });
            httpContext.SetupGet(x => x.Request).Returns(request.Object);



            httpContext.SetupGet(c => c.Request.UserAgent).Returns("Mozilla");
            httpContext.SetupGet(c => c.Request.ContentType).Returns("xml");
            ControllerContext ctx = new ControllerContext();

            ctx.HttpContext = httpContext.Object;

            Mock <IStudentInfoBusinessAccess> businesslayer = new Mock <IStudentInfoBusinessAccess>();

            businesslayer.Setup(x => x.InsertStudentInfoIntoDatabase(student));

            //Creating application Controller onj
            ApplicantController applicantController = new ApplicantController(businesslayer.Object);

            applicantController.ControllerContext = ctx;

            RedirectToRouteResult result = applicantController.ApplicantInfo(student) as RedirectToRouteResult;

            Assert.That(result.RouteValues["action"], Is.EqualTo("AddressInfo"));
        }
        public async Task Delete_Removes_An_Applicant()
        {
            // Arrange - create the mock service
            Mock <IApplicantService> mock = new Mock <IApplicantService>();

            mock.Setup(m => m.GetApplicantById(_applicant.ID)).ReturnsAsync(_applicant);
            mock.Setup(m => m.Delete(_applicant)).Returns(Task.CompletedTask);

            // Arrange - create a controller
            ApplicantController target = new ApplicantController(mock.Object);

            // Action
            ApplicantModel result = GetViewModel <ApplicantModel>(await target.Delete(_applicant.ID));

            // Assert
            Assert.Equal(24, result.Age);
            // Assert - ensure that the service delete method was
            // called with the correct Applicant
            mock.Verify(m => m.Delete(_applicant));
        }
        public async Task ApplicantController_CheckForRetunType_of_GetAll()
        {
            var inMemoryDataContextOptions = new DbContextOptionsBuilder <ApplicantDBContext>()
                                             .UseInMemoryDatabase(databaseName: "Test_With_In_Memory_Database")
                                             .Options;

            var            mockLogger = new Mock <ILoggerFactory>();
            ILoggerFactory logger     = mockLogger.Object;

            var mockHttpContextAccesor = new Mock <IHttpContextAccessor>();
            IHttpContextAccessor httpContextAccessor = mockHttpContextAccesor.Object;



            var applicantDBContext = new ApplicantDBContext(inMemoryDataContextOptions);
            var controller         = new ApplicantController(applicantDBContext, logger, httpContextAccessor);


            Assert.IsInstanceOfType(await controller.GetAll(), typeof(IEnumerable <Applicant>));
        }
        public void GetApplicant_ExpectSuccess()
        {
            //arrange
            var mockApplicantRepo = new Mock <IApplicantRepository>();
            var mockUnitOfWork    = new Mock <IUnitOfWork>();

            var expectedApplicant = new Applicant {
                Id = 1, FirstName = "Ben", LastName = "Runchey", MiddleName = "John"
            };

            mockApplicantRepo.Setup(m => m.FindById(It.IsAny <int>())).Returns(expectedApplicant);
            var appController = new ApplicantController(mockApplicantRepo.Object, mockUnitOfWork.Object);

            //act
            var result = appController.Applicant(1) as ViewResult;

            //Assert
            var applicant = result.ViewData.Model;

            Assert.AreSame(expectedApplicant, applicant);
        }
Exemple #23
0
        public void TestApplicantInfo_ReturningCorrectView_ForNullSessionId()
        {
            Mock <HttpSessionStateBase> session = new Mock <HttpSessionStateBase>();

            session.Setup(s => s["studentId"]).Returns(null);

            Mock <HttpContextBase> httpContext = new Mock <HttpContextBase>();

            httpContext.SetupGet(c => c.Session).Returns(session.Object);

            ControllerContext ctx = new ControllerContext();

            ctx.HttpContext = httpContext.Object;


            ApplicantController obj = new ApplicantController();

            obj.ControllerContext = ctx;
            var actResult = obj.ApplicantInfo() as ViewResult;

            Assert.That(actResult.ViewName, Is.EqualTo("ApplicantInfo"));
        }
Exemple #24
0
        private async void ComfirmEditButtonClick(object sender, RoutedEventArgs e)
        {
            ApplicantController applicantController = new ApplicantController();
            var range = new TextRange(this.DescTextBox.Document.ContentStart, this.DescTextBox.Document.ContentEnd);
            ApplicantViewModel app = new ApplicantViewModel
            {
                FirstName   = this.textBoxName.Text,
                LastName    = this.textBoxLastName.Text,
                Phone1      = this.textBoxPhone.Text,
                Email       = this.textBoxEmail.Text,
                Date        = Helper.GetDate(this.EditDatePicker.Text),
                Technology  = this.technologyCombobox.SelectedItem as TechnologyViewModel,
                Description = range.Text
            };

            this.applicant.Technology = app.Technology;
            await applicantController.UpdateApplicant(this.applicant.Id, app);

            personsListWindow.ApplList.ItemsSource = await applicantController.GetAllAsync();

            this.Close();
        }
Exemple #25
0
        private async void MakeStudentComfirmBtnClick(object sender, RoutedEventArgs e)
        {
            ApplicantController applctrl = new ApplicantController();
            LessonViewModel     lesson   = new LessonViewModel
            {
                StartingDate = Helper.GetDate(this.StartingDatePicker.Text),
                EndingDate   = Helper.GetDate(this.EndingDatePicker.Text),
            };
            await applctrl.MakeStudent(this.applicant.Id);

            personsListWindow.ApplList.ItemsSource = await applctrl.GetAllAsync();

            StudentViewModel student = new StudentViewModel()
            {
                ApplicantViewModelId = this.applicant.Id,
                Description          = "asdasdasdasd"
            };

            student.Lessons.Add(lesson);
            StudentController studentController = new StudentController();

            studentController.AddStudent(student);
            this.Close();
        }
        private void AddApplicantBtn_Click(object sender, RoutedEventArgs e)
        {
            string FirstName          = "undefined";
            string LastName           = "undefined";
            string Phone              = "undefined";
            string Email              = "undefined";
            bool   validilationPassed = true;

            if (Logic.Helpers.Validation.IsTextFormat(this.firstNametextbox.Text) && !String.IsNullOrEmpty(this.firstNametextbox.Text))
            {
                FirstName = this.firstNametextbox.Text;
            }
            else
            {
                this.firstNameBorder.Style = (Style)FindResource("WarrningBorder");
                validilationPassed         = false;
            }
            if (Logic.Helpers.Validation.IsTextFormat(this.lastNametextbox.Text) && !String.IsNullOrEmpty(this.lastNametextbox.Text))
            {
                LastName = this.lastNametextbox.Text;
            }
            else
            {
                this.LastNameBorder.Style = (Style)FindResource("WarrningBorder");
                validilationPassed        = false;
            }
            if (Logic.Helpers.Validation.IsPhoneFormat(this.phonetextbox.Text))
            {
                Phone = this.phonetextbox.Text;
            }
            else
            {
                this.PhoneBorder.Style = (Style)FindResource("WarrningBorder");
                validilationPassed     = false;
            }
            if (Logic.Helpers.Validation.IsEmailFormat(this.emailtextbox.Text))
            {
                Email = this.emailtextbox.Text;
            }
            else
            {
                this.Emailborder.Style = (Style)FindResource("WarrningBorder");
                validilationPassed     = false;
            }
            if (validilationPassed)
            {
                string desc = new TextRange(this.DescTextBox.Document.ContentStart, DescTextBox.Document.ContentEnd).Text;
                ApplicantController applicantctrl = new ApplicantController();
                ApplicantViewModel  applicant     = new ApplicantViewModel();
                applicant.FirstName   = FirstName;
                applicant.LastName    = LastName;
                applicant.Phone1      = Phone;
                applicant.Email       = Email;
                applicant.Date        = Helper.GetDate(this.AddStartedatDatePicker.Text);
                applicant.Description = desc;
                applicant.Technology  = this.comboBoxLesson.SelectedItem as TechnologyViewModel;
                applicantctrl.InsertOrUpdate(applicant);
            }
            else
            {
                return;
            }
        }
        private async void OnRefresh(object sender, RoutedEventArgs e)
        {
            ApplicantController applicantController = new ApplicantController();

            this.ApplList.ItemsSource = await applicantController.GetAllAsync();
        }
Exemple #28
0
        internal ApplicantController controller()
        {
            var c = new ApplicantController(logger(), service());

            return(c);
        }
Exemple #29
0
        public void AddToDB(IEnumerable <ApplicantViewModel> applicants)
        {
            ApplicantController applicantController = new ApplicantController();

            applicantController.AddApplicants(applicants.ToList());
        }