public void NoSePuedeTerminarPausaSiNoHayPausaIniciada( [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); timeProviderMock.Setup(t => t.Now).Returns(jornada.Inicio.AddHours(1)); Action accion = () => sut.TerminarPausa(usuario); accion.ShouldThrow<InvalidOperationException>() .WithMessage("No se puede terminar una pausa cuando no hay una pausa iniciada."); commandsMock.Verify(c => c.ActualizarJornada(jornada, usuario), Times.Never()); }
public void SePuedeTerminarPausaEnCondicionesCorrectas( [Frozen]Mock<IJornadaQueries> queriesMock, [Frozen]Mock<IJornadaCommands> commandsMock, [Frozen]Mock<ITimeProvider> timeProviderMock, JornadaService sut, Jornada jornada, DateTime inicioPausa, string usuario) { jornada.IniciarPausa(inicioPausa); queriesMock.Setup(q => q.ObtenerUltimaJornada(usuario)).Returns(jornada); timeProviderMock.Setup(t => t.Now).Returns(inicioPausa.AddHours(1)); sut.TerminarPausa(usuario); commandsMock.Verify(c => c.ActualizarJornada(jornada, usuario), Times.Once()); }
public void NoSePuedeTerminarPausaConFechaAnteriorAInicioPausa( [Frozen]Mock<IJornadaQueries> queriesMock, [Frozen]Mock<IJornadaCommands> commandsMock, [Frozen]Mock<ITimeProvider> timeProviderMock, JornadaService sut, Jornada jornada, DateTime inicioPausa, string usuario) { jornada.IniciarPausa(inicioPausa); queriesMock.Setup(q => q.ObtenerUltimaJornada(usuario)).Returns(jornada); timeProviderMock.Setup(t => t.Now).Returns(inicioPausa.AddHours(-1)); Action accion = () => sut.TerminarPausa(usuario); accion.ShouldThrow<InvalidOperationException>() .WithMessage("La fecha de finalización debe ser posterior a la fecha de inicio."); commandsMock.Verify(c => c.ActualizarJornada(jornada, usuario), Times.Never()); }