public void IniciarSesionTestOk()
        {
            //Arrange
            var fakeSesion     = TestHelper.ObtenerSesionFalsa();
            var fakeUsuario    = fakeSesion.NombreUsuario;
            var fakeContraseña = "acorrea123";

            var mockUnitOfWork         = new Mock <IUnitOfWork>();
            var mockSesionesRepository = new Mock <ISesionesRepository>();

            mockSesionesRepository
            .Setup(r => r.CredencialesValidas(fakeUsuario, fakeContraseña))
            .Returns(true);
            mockSesionesRepository
            .Setup(r => r.AgregarSesion(It.IsAny <Sesion>()));

            var businessLogic = new SesionesService(mockUnitOfWork.Object, mockSesionesRepository.Object);

            //Act
            Sesion obtainedResult = businessLogic.Login(fakeUsuario, fakeContraseña);

            //Assert
            mockSesionesRepository.VerifyAll();
            Assert.IsNotNull(obtainedResult);
            Assert.AreEqual(fakeSesion.NombreUsuario, obtainedResult.NombreUsuario);
        }
        public void CerrarSesionTestOK()
        {
            //Arrange
            var fakeSesion = TestHelper.ObtenerSesionFalsa();

            var mockUnitOfWork         = new Mock <IUnitOfWork>();
            var mockSesionesRepository = new Mock <ISesionesRepository>();

            mockSesionesRepository
            .Setup(r => r.BorrarSesion(fakeSesion.Token));

            var businessLogic = new SesionesService(mockUnitOfWork.Object, mockSesionesRepository.Object);

            //Act
            businessLogic.Logout(fakeSesion.Token);

            //Assert
            mockSesionesRepository.VerifyAll();
        }
        public void ObtenerSesionPorTokenErrorNotFoundTest()
        {
            //Arrange
            var fakeSesion = TestHelper.ObtenerSesionFalsa();

            var mockUnitOfWork         = new Mock <IUnitOfWork>();
            var mockSesionesRepository = new Mock <ISesionesRepository>();

            mockSesionesRepository
            .Setup(r => r.ObtenerPorToken(fakeSesion.Token))
            .Returns((Sesion)null);

            var businessLogic = new SesionesService(mockUnitOfWork.Object, mockSesionesRepository.Object);

            //Act
            Sesion obtainedResult = businessLogic.ObtenerPorToken(fakeSesion.Token);

            //Assert
            mockSesionesRepository.VerifyAll();
            Assert.IsNull(obtainedResult);
        }
        public void ObtenerUsuarioPorTokenTestOk()
        {
            //Arrange
            var fakeSesion  = TestHelper.ObtenerSesionFalsa();
            var fakeUsuario = TestHelper.ObtenerUsuarioFalso();

            var mockUnitOfWork         = new Mock <IUnitOfWork>();
            var mockSesionesRepository = new Mock <ISesionesRepository>();

            mockSesionesRepository
            .Setup(r => r.ObtenerUsuarioPorToken(fakeSesion.Token))
            .Returns(fakeUsuario);

            var businessLogic = new SesionesService(mockUnitOfWork.Object, mockSesionesRepository.Object);

            //Act
            Usuario obtainedResult = businessLogic.ObtenerUsuarioPorToken(fakeSesion.Token);

            //Assert
            mockSesionesRepository.VerifyAll();
            Assert.IsNotNull(obtainedResult);
            Assert.AreEqual(fakeUsuario, obtainedResult);
        }