public void Controller_Kiosk_KioskLogout_Valid_Data_Should_Update_Status() { // Arrange DataSourceBackend.Instance.Reset(); DataSourceBackend.SetTestingMode(true); var controller = new KioskController(); // Get the first Studnet from the DataSource var data = DataSourceBackend.Instance.StudentBackend.GetDefault(); var id = DataSourceBackend.Instance.StudentBackend.GetDefault().Id; // Login, so logout can happen controller.KioskLogin(data); // Act var result = (RedirectToRouteResult)controller.KioskLogout(data); // check status change after KioskLogout var resultStatus = DataSourceBackend.Instance.StudentBackend.Read(id).Status; // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.AreEqual(StudentStatusEnum.Out, resultStatus, TestContext.TestName); }
public void PunchIn_Should_ReturnSuccessfully() { // ---------------------------------------------------------------- // Arrange // ---------------------------------------------------------------- var controller = new KioskController(); var controllerContext = new HttpControllerContext(); // User will be authenticated var userId = _context.Users .Where(u => u.EmailAddress == "*****@*****.**") .FirstOrDefault() .Id .ToString(); controllerContext.RequestContext.Principal = new GenericPrincipal(new GenericIdentity(userId), new string[] { }); var configuration = new HttpConfiguration(); var request = new HttpRequestMessage(); request.Properties[System.Web.Http.Hosting.HttpPropertyKeys.HttpConfigurationKey] = configuration; request.Headers.Add("Accept", "application/json"); controllerContext.Request = request; controller.ControllerContext = controllerContext; // ---------------------------------------------------------------- // Act // ---------------------------------------------------------------- var taskId = _context.Tasks .Where(t => t.Number == "1000") .Select(t => t.Id) .FirstOrDefault(); var timeZone = "America/New_York"; var latitude = ""; var longitude = ""; var sourceHardware = ""; var sourceOperatingSystem = ""; var sourceOperatingSystemVersion = ""; var sourceBrowser = ""; var sourceBrowserVersion = ""; var actionResult = controller.PunchIn(taskId, timeZone, latitude, longitude, sourceHardware, sourceOperatingSystem, sourceOperatingSystemVersion, sourceBrowser, sourceBrowserVersion); var content = actionResult as OkNegotiatedContentResult <Punch>; // ---------------------------------------------------------------- // Assert // ---------------------------------------------------------------- Assert.IsNotNull(content); Assert.IsNotNull(content.Content); Assert.AreEqual(int.Parse(userId), content.Content.UserId); Assert.IsNull(content.Content.OutAt); }
public void Controller_Kiosk_Instantiate_Default_Should_Pass() { // Arrange var controller = new KioskController(); // Act var result = controller.GetType(); // Assert Assert.AreEqual(result, new KioskController().GetType(), TestContext.TestName); }
public void PunchOut_ShouldNot_AllowPunchingOutWithoutBeingPunchedIn() { // Arrange. var controller = new KioskController(); var controllerContext = new HttpControllerContext(); // User will be authenticated. var userId = db.Users .Where(u => u.EmailAddress == "*****@*****.**") .FirstOrDefault() .Id .ToString(); controllerContext.RequestContext.Principal = new GenericPrincipal(new GenericIdentity(userId), new string[] { }); var configuration = new HttpConfiguration(); var request = new HttpRequestMessage(); request.Properties[System.Web.Http.Hosting.HttpPropertyKeys.HttpConfigurationKey] = configuration; request.Headers.Add("Accept", "application/json"); controllerContext.Request = request; controller.ControllerContext = controllerContext; // Act. var taskId = db.Tasks .Where(t => t.Number == "1000") .FirstOrDefault() .Id; var timeZone = "America/New_York"; var latitude = ""; var longitude = ""; var sourceHardware = ""; var sourceOperatingSystem = ""; var sourceOperatingSystemVersion = ""; var sourceBrowser = ""; var sourceBrowserVersion = ""; // Act. var actionResult = controller.PunchOut( timeZone, latitude, longitude, sourceHardware, sourceOperatingSystem, sourceOperatingSystemVersion, sourceBrowser, sourceBrowserVersion); var content = actionResult as OkNegotiatedContentResult <Punch>; // Assert. Assert.IsNull(content); }
public void Timecard_Should_ReturnSuccessfully() { // ---------------------------------------------------------------- // Arrange // ---------------------------------------------------------------- var controller = new KioskController(); var controllerContext = new HttpControllerContext(); // User will be authenticated var userId = _context.Users .Where(u => u.EmailAddress == "*****@*****.**") .FirstOrDefault() .Id .ToString(); controllerContext.RequestContext.Principal = new GenericPrincipal(new GenericIdentity(userId), new string[] { }); var configuration = new HttpConfiguration(); var request = new HttpRequestMessage(); request.Properties[System.Web.Http.Hosting.HttpPropertyKeys.HttpConfigurationKey] = configuration; request.Headers.Add("Accept", "application/json"); controllerContext.Request = request; controller.ControllerContext = controllerContext; // ---------------------------------------------------------------- // Act // ---------------------------------------------------------------- var taskId = _context.Tasks .Where(t => t.Number == "1000") .Select(t => t.Id) .FirstOrDefault(); var enteredAt = DateTime.Today; var minutes = 60; var notes = ""; var actionResult = controller.TimeCard(taskId, enteredAt, minutes, notes); var content = actionResult as OkNegotiatedContentResult <TimesheetEntry>; // ---------------------------------------------------------------- // Assert // ---------------------------------------------------------------- Assert.IsNotNull(content); Assert.IsNotNull(content.Content); Assert.AreEqual(DateTime.Today.Date, content.Content.EnteredAt.Date); Assert.AreEqual(minutes, content.Content.Minutes); Assert.AreEqual(int.Parse(userId), content.Content.UserId); }
public void Controller_Kiosk_Index_Default_Should_Pass() { // Arrange KioskController controller = new KioskController(); // Act ViewResult result = controller.Index() as ViewResult; // Assert Assert.IsNotNull(result, TestContext.TestName); }
public void Controller_Kiosk_Create_Post_Data_Is_Null_Should_Return_Error_Page() { // Arrange KioskController controller = new KioskController(); // Act var result = (RedirectToRouteResult)controller.Create((StudentModel)null); // Assert Assert.AreEqual("Error", result.RouteValues["action"], TestContext.TestName); }
public void Controller_Kiosk_Login_Get_Should_Pass() { // Arrage var controller = new KioskController(); // Act ViewResult result = controller.Login() as ViewResult; // Assert Assert.IsNotNull(result, TestContext.TestName); }
public void Controller_Kiosk_KioskLogout_Null_Or_Empty_Data_Should_Return_Error_Page() { // Arrange var controller = new KioskController(); StudentModel data = null; // Act var result = (RedirectToRouteResult)controller.KioskLogout(data); // Assert Assert.AreEqual("Error", result.RouteValues["action"], TestContext.TestName); }
public void Controller_Kiosk_ConfirmLogout_Null_Or_Empty_Id_Should_Return_Error_Page() { // Arrage var controller = new KioskController(); string id = null; // Act var result = (RedirectToRouteResult)controller.ConfirmLogout(id); // Assert Assert.AreEqual("Error", result.RouteValues["action"], TestContext.TestName); }
public void Controller_Kiosk_Create_Post_Default_Should_Return_Index_Page() { // Arrange KioskController controller = new KioskController(); StudentModel data = DataSourceBackend.Instance.StudentBackend.GetDefault(); // Act var result = (RedirectToRouteResult)controller.Create(data); // Assert Assert.AreEqual("Index", result.RouteValues["action"], TestContext.TestName); }
public void Controller_Kiosk_ConfirmLogout_Valid_Id_Should_Pass() { // Arrange var controller = new KioskController(); string id = DataSourceBackend.Instance.StudentBackend.GetDefault().Id; // Act ViewResult result = controller.ConfirmLogout(id) as ViewResult; // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.IsNotNull(result, TestContext.TestName); }
public void Controller_Kiosk_Login_InValid_Password_Null_Should_Fail() { // Arrange var controller = new KioskController(); string Password = KioskSettingsBackend.Instance.GetDefault().Password; var data = new KioskSettingsModel { Password = null }; ViewResult result = controller.Login(data) as ViewResult; // Assert Assert.AreEqual(controller.ModelState.IsValid, false, TestContext.TestName); }
public void Controller_Kiosk_Create_Post_Model_Is_Invalid_Should_Send_Back_For_Edit() { // Arrange KioskController controller = new KioskController(); StudentModel data = new StudentModel(); // Make ModelState Invalid controller.ModelState.AddModelError("test", "test"); // Act ViewResult result = controller.Create(data) as ViewResult; // Assert Assert.IsNotNull(result, TestContext.TestName); }
public void Controller_Kiosk_Login_Valid_Password_Should_Pass() { // Arrange var controller = new KioskController(); string Password = KioskSettingsBackend.Instance.GetDefault().Password; var data = new KioskSettingsModel { Password = Password }; // Act var result = (RedirectToRouteResult)controller.Login(data); // Assert Assert.AreEqual("Index", result.RouteValues["action"], TestContext.TestName); }
public void Controller_Kiosk_KioskLogin_Null_Or_Empty_Id_Should_Return_Error_Page() { // Arrange var controller = new KioskController(); // Create StudentModel instance StudentModel data = new StudentModel { // Set student Id to null Id = null }; // Act var result = (RedirectToRouteResult)controller.KioskLogin(data); // Assert Assert.AreEqual("Error", result.RouteValues["action"], TestContext.TestName); }
public void Controller_Kiosk_Login_InValid_Model_Null_Should_Fail() { // Arrange var controller = new KioskController(); string Password = KioskSettingsBackend.Instance.GetDefault().Password; var data = new KioskSettingsModel { Password = Password }; // Make a model error then try to send it as a KioskSettings controller.ModelState.AddModelError("test", "test"); // Act ViewResult result = controller.Login(data) as ViewResult; // Assert Assert.AreEqual(controller.ModelState.IsValid, false, TestContext.TestName); }
public void Controller_Kiosk_KioskLogin_Valid_Data_Should_Pass() { // Arrange DataSourceBackend.Instance.Reset(); DataSourceBackend.SetTestingMode(true); var controller = new KioskController(); // Get the first Studnet from the DataSource var data = DataSourceBackend.Instance.StudentBackend.GetDefault(); var id = DataSourceBackend.Instance.StudentBackend.GetDefault().Id; // Act var result = (RedirectToRouteResult)controller.KioskLogin(data); // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.AreEqual("ConfirmLogin", result.RouteValues["action"], TestContext.TestName); }
public void Controller_Kiosk_Create_Post_Id_Is_Null_Or_Empty_Should_Return_Back_For_Edit() { // Arrange KioskController controller = new KioskController(); StudentModel dataNull = new StudentModel(); StudentModel dataEmpty = new StudentModel(); // Make data.Id = null dataNull.Id = null; // Make data.Id empty dataEmpty.Id = ""; // Act var resultNull = (ViewResult)controller.Create(dataNull); var resultEmpty = (ViewResult)controller.Create(dataEmpty); // Assert Assert.IsNotNull(resultNull, TestContext.TestName); Assert.IsNotNull(resultEmpty, TestContext.TestName); }
public void Controller_Kiosk_KioskLogin_Valid_Data_Should_Update_Emotion() { // Arrange DataSourceBackend.Instance.Reset(); DataSourceBackend.SetTestingMode(true); var controller = new KioskController(); // Get the first Studnet from the DataSource var data = DataSourceBackend.Instance.StudentBackend.GetDefault(); string id = DataSourceBackend.Instance.StudentBackend.GetDefault().Id; // Act var result = (RedirectToRouteResult)controller.KioskLogin(data); // check status change after SetLogin var resultStatus = DataSourceBackend.Instance.StudentBackend.Read(id).EmotionCurrent; // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.AreEqual(EmotionStatusEnum.Neutral, resultStatus, TestContext.TestName); }