コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }