public async Task Sign_In_User_Not_Found()
        {
            var controller = IdentityTests.GetUserController();
            var result     = await controller.SignIn(IdentityTests.GetLoginUserViewModel("fakeUser"), string.Empty);

            Assert.IsAssignableFrom <ViewResult>(result);
            var viewResult = result as ViewResult;

            Assert.IsTrue(controller.ViewData.ModelState.ErrorCount > 0);
            Assert.AreEqual(controller.ViewData.ModelState["CheckYourLogin"].ValidationState, ModelValidationState.Invalid);
            Assert.IsFalse(viewResult.ViewData.ModelState.IsValid);
        }
        public async Task Sign_In_Model_State_Invalid()
        {
            var controller = IdentityTests.GetUserController();

            controller.ModelState.AddModelError("InvalidToken", "Invalid token.");
            var result = await controller.SignIn(IdentityTests.GetLoginUserViewModel("mfarkan"), string.Empty);

            Assert.IsAssignableFrom <ViewResult>(result);
            var viewResult = result as ViewResult;

            Assert.IsTrue(controller.ViewData.ModelState.ErrorCount == 1);
            Assert.IsFalse(viewResult.ViewData.ModelState.IsValid);
        }
        public async Task Sign_In_Access_Failed_User_With_PasswordSign()
        {
            var controller = IdentityTests.GetUserController();
            var result     = await controller.SignIn(IdentityTests.GetLoginUserViewModel("mfarkan"), string.Empty);

            Assert.IsAssignableFrom <ViewResult>(result);
            var errorMessage = controller.ViewBag.Error;

            Assert.IsNotNull(errorMessage);
            Assert.IsAssignableFrom <LocalizedString>(errorMessage);
            var localizedString = errorMessage as LocalizedString;

            Assert.IsFalse(localizedString.ResourceNotFound);
            Assert.AreEqual(localizedString.Value, "Check your credentials.");
        }