Skip to content

Instantly share code, notes, and snippets.

@vqc1909a
Created July 25, 2025 22:07
Show Gist options
  • Select an option

  • Save vqc1909a/febf4dcf229db6a3be6b02d09a04af0f to your computer and use it in GitHub Desktop.

Select an option

Save vqc1909a/febf4dcf229db6a3be6b02d09a04af0f to your computer and use it in GitHub Desktop.
08_LOGIN_AND_AUTHENTICATION_STORY.md

Authorization

As admin, i want to have full access to the company app modules: employees page and admin page as a way of operate them.

Acceptance Criteria:
  • The admin must be redirected to the admin page after login.
  • The admin username should be displayed on the common navbar.
  • The admin must have access to the employees page.
  • The admin must have access to delete the employee button.

Autorización

Como administrador, quiero tener acceso completo a los módulos de la aplicación de la empresa: página de empleados y página de administrador para poder operar en ellas.

Criterios de aceptación:
  • El administrador debe ser redirigido a la página de administrador después de iniciar sesión.
  • El nombre de usuario del administrador debe aparecer en la barra de navegación común.
  • El administrador debe tener acceso a la página de empleados.
  • El administrador debe tener acceso para eliminar el botón de empleado.

Authorization

As an employee, I want to have access to the employees page.

Acceptance Criteria:
  • The employee must be redirected to the employees page after login.
  • The employee username should be displayed on the common navbar.
  • The employee must have access to the employees page.
  • The employee must not have access to the admin page.
  • The forbidden page access must be redirected to the allowed page.
  • The employee must not have access to delete the employee button.

Autorización

Como empleado, quiero tener acceso a la página de empleados.

Criterios de aceptación:
  • El empleado debe ser redirigido a la página de empleados después de iniciar sesión.
  • El nombre de usuario del empleado debe aparecer en la barra de navegación común.
  • El empleado debe tener acceso a la página de empleados.
  • El empleado no debe tener acceso a la página de administrador.
  • El acceso a la página prohibida debe redirigirse a la página permitida.
  • El empleado no debe tener acceso para eliminar el botón de empleado.

Login and Authentication

As Company App user, i want a login page as a way of have a protected access to the app.

Acceptance Criteria (AC):
  • There must be a login page.
  • The login page must have a form with the following fields: email, password and a submit button.
  • The email and password inputs are required.
  • If the user leaves empty fields and clicks the submit button, the login page should display required messages as the format: “The [field name] is required” aside of the proper field.
  • The email and password inputs are validated.
  • The email value should contain the proper email format (the “@”, domain value, etc).
  • The password input should contain at least: 8 characters, one upper case letter, one number and one special character.
  • The form must send the data to a backend endpoint service.
  • The submit button should be disabbled while the form page is fetching the data. After fetching, the submit button does not have to be disabled.
  • There should be a loading indicator at the top of the form while it is fetching.
  • In a unexpected server error, the form page must display the error message “Unexpected error, please try again” from the api.
  • In the invalid credentials response, the form page must display the error message “The email or password are not correct” from the api.
  • Not authenticated users must be redirected to the login page on enter to private pages (employees and admin pages).

Inicio de sesión y Autenticación

Como usuario de la aplicación de la empresa, quiero una página de inicio de sesión como una forma de tener un acceso protegido a la aplicación.

Criterios de aceptación (AC):
  • Debe haber una página de inicio de sesión.
  • La página de inicio de sesión debe tener un formulario con los siguientes campos: correo electrónico, contraseña y un botón de envío.
  • Se requieren las entradas de correo electrónico y contraseña.
  • Si el usuario deja campos vacíos y hace clic en el botón enviar, la página de inicio de sesión debe mostrar los mensajes obligatorios con el formato: "El [nombre del campo] es obligatorio" al lado del campo correspondiente.
  • Se validan las entradas de correo electrónico y contraseña.
  • El valor del correo electrónico debe contener el formato de correo electrónico adecuado ("@", valor de dominio, etc.).
  • La entrada de la contraseña debe contener al menos: 8 caracteres, una letra mayúscula, un número y un carácter especial.
  • El formulario debe enviar los datos a un servicio de punto final de backend.
  • El botón de envío debe estar desactivado mientras la página del formulario está recuperando los datos. Después de la recuperación, no es necesario deshabilitar el botón de envío.
  • Debe haber un indicador de carga en la parte superior del formulario mientras se está recuperando.
  • En un error inesperado del servidor, la página del formulario debe mostrar el mensaje de error "Error inesperado, inténtelo de nuevo" de la API.
  • En la respuesta de credenciales no válidas, la página del formulario debe mostrar el mensaje de error "El correo electrónico o la contraseña no son correctos" de la API.
  • Los usuarios no autenticados deben ser redirigidos a la página de inicio de sesión al ingresar a páginas privadas (páginas de empleados y administrador).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment