public void NoSePuedeIniciarJornadaConJornadaIniciada( [Frozen]Mock<IJornadaQueries> queriesMock, [Frozen]Mock<IJornadaCommands> commandsMock, [Frozen]Mock<ITimeProvider> timeProviderMock, JornadaService sut, Jornada jornada, string usuario) { queriesMock.Setup(q => q.ObtenerUltimaJornada(usuario)).Returns(jornada); Action action = () => sut.IniciarJornada(usuario); action.ShouldThrow<InvalidOperationException>() .WithMessage("Ya existe una jornada iniciada. Debe terminar la jornada iniciada antes de iniciar una nueva."); commandsMock.Verify(c => c.CrearJornada(It.IsAny<Jornada>(), usuario), Times.Never()); }
public void NoSePuedeIniciarJornadaSiYaExisteJornadaParaElNuevoDia( [Frozen]Mock<IJornadaQueries> queriesMock, [Frozen]Mock<IJornadaCommands> commandsMock, [Frozen]Mock<ITimeProvider> timeProviderMock, JornadaService sut, Jornada jornada, DateTime finJornada, DateTime diaNuevaJornada, string usuario) { jornada.Finalizar(finJornada); queriesMock.Setup(q => q.ObtenerUltimaJornada(usuario)).Returns(jornada); queriesMock.Setup(q => q.ExisteJornada(usuario, diaNuevaJornada)).Returns(true); timeProviderMock.Setup(t => t.Today).Returns(diaNuevaJornada); Action action = () => sut.IniciarJornada(usuario); action.ShouldThrow<InvalidOperationException>() .WithMessage("Ya existe una jornada para la fecha indicada."); commandsMock.Verify(c => c.CrearJornada(It.IsAny<Jornada>(), usuario), Times.Never()); }
public void SePuedeIniciarJornadaConVerificacionesCorrectas( [Frozen]Mock<IJornadaQueries> queriesMock, [Frozen]Mock<IJornadaCommands> commandsMock, [Frozen]Mock<ITimeProvider> timeProviderMock, JornadaService sut, Jornada jornada, DateTime finJornada, DateTime diaNuevaJornada, string usuario) { jornada.Finalizar(finJornada); queriesMock.Setup(q => q.ObtenerUltimaJornada(usuario)).Returns(jornada); queriesMock.Setup(q => q.ExisteJornada(usuario, diaNuevaJornada)).Returns(false); timeProviderMock.Setup(t => t.Now).Returns(diaNuevaJornada); sut.IniciarJornada(usuario); commandsMock.Verify(c => c.CrearJornada(It.IsAny<Jornada>(), usuario), Times.Once()); }