public async Task Should_not_notify_in_the_weekend() { _alertOwnerService .Setup(s => s.GetShift(It.Is <IEnumerable <TeamMate> >(tm => Equals(tm, _teamMates)))) .ReturnsAsync((null, null)); var sut = new NotifyJob(_slackHttpClient.Object, _alertOwnerService.Object, _logger); await sut.Execute(null); _slackHttpClient .Verify(v => v.Notify(It.IsAny <string>()), Times.Never); }
public async Task Should_notify_in_only_one_at_friday() { var today = new Shift(_ironMan, new LocalDate(2019, 12, 3)); _alertOwnerService .Setup(s => s.GetShift(It.Is <IEnumerable <TeamMate> >(tm => Equals(tm, _teamMates)))) .ReturnsAsync((today, null)); _slackHttpClient .Setup(s => s.Notify(It.IsAny <string>())) .Returns(Task.CompletedTask); var sut = new NotifyJob(_slackHttpClient.Object, _alertOwnerService.Object, _logger); await sut.Execute(null); _slackHttpClient .Verify(v => v.Notify(It.IsAny <string>()), Times.Once); }
public async Task Should_notify_in_the_middle_of_the_week() { var today = new Shift(_ironMan, new LocalDate(2019, 12, 3)); var tomorrow = new Shift(_hulk, new LocalDate(2019, 12, 4)); _alertOwnerService .Setup(s => s.GetShift(It.Is <IEnumerable <TeamMate> >(tm => Equals(tm, _teamMates)))) .ReturnsAsync((today, tomorrow)); _slackHttpClient .Setup(s => s.Notify(It.IsAny <string>())) .Returns(Task.CompletedTask); var sut = new NotifyJob(_slackHttpClient.Object, _alertOwnerService.Object, _logger); await sut.Execute(null); _slackHttpClient .Verify(v => v.Notify(It.IsAny <string>()), Times.Exactly(2)); }