public void CanOnlyRemindBillablePeople()
        {
            var clock = new ClockStub(
                new DateTimeOffset(
                    new DateTime(2019, 03, 01, 10, 30, 0)
                    )
                );

            Environment.SetEnvironmentVariable("NON_BILLABLE_PEOPLE", "[email protected],[email protected]");

            var getBillablePeople = new GetBillablePeople(_slackGateway, clock);

            var remindBillablePeople = new RemindBillablePeople(getBillablePeople, _sendReminder);

            remindBillablePeople.Execute(
                new RemindBillablePeopleRequest
            {
                Message = "Please make sure your timesheet is submitted by 13:30 today."
            }
                );

            _slackApi.ReceivedRequests.Count.Should().Be(3);

            _slackApi.ReceivedRequests.Should()
            .Contain(request => request.Url.ToString() == SlackApiAddress + SlackApiPostMessagePath);

            Environment.SetEnvironmentVariable("NON_BILLABLE_PEOPLE", null);
        }
        private void HandleSetUp(IGetBillablePeople GetBillablePeople)
        {
            var remindBillablePeople = new RemindBillablePeople(GetBillablePeople, _sendReminderSpy);

            remindBillablePeople.Execute(
                new RemindBillablePeopleRequest
            {
                Message = "TIMESHEETS ARE GOOD YO!"
            }
                );
        }
Exemplo n.º 3
0
        private void RemindBillablePeopleJob()
        {
            var remindBillablePeople = new RemindBillablePeople(_getBillablePeople, _sendReminder);

            remindBillablePeople.Execute(
                new RemindBillablePeopleRequest
            {
                Message = Environment.GetEnvironmentVariable("SLACK_REMINDER_MESSAGE")
            }
                );
        }
        public void CanRemindBillablePeopleEndOfTheMonth()
        {
            var clock = new ClockStub(
                new DateTimeOffset(
                    new DateTime(2019, 07, 31, 10, 30, 0)
                    )
                );

            var getBillablePeople = new GetBillablePeople(_slackGateway, clock);

            var remindBillablePeople = new RemindBillablePeople(getBillablePeople, _sendReminder);

            remindBillablePeople.Execute(
                new RemindBillablePeopleRequest
            {
                Message = "Please make sure your timesheet is submitted by 13:30 today."
            }
                );

            _slackApi.ReceivedRequests.Should()
            .Contain(request => request.RawUrl.ToString() == "/" + SlackApiUsersPath);
            _slackApi.ReceivedRequests.Count(request => request.RawUrl.ToString() == "/" + SlackApiPostMessagePath)
            .Should().Be(4);
        }
        public void CanRemindBillablePeopleOnAFriday()
        {
            var clock = new ClockStub(
                new DateTimeOffset(
                    new DateTime(2019, 03, 01, 10, 30, 0)
                    )
                );

            var getBillablePeople = new GetBillablePeople(_slackGateway, clock);

            var remindBillablePeople = new RemindBillablePeople(getBillablePeople, _sendReminder);

            remindBillablePeople.Execute(
                new RemindBillablePeopleRequest
            {
                Message = "Please make sure your timesheet is submitted by 13:30 today."
            }
                );

            _slackApi.ReceivedRequests.Count.Should().Be(5);

            _slackApi.ReceivedRequests.Should()
            .Contain(request => request.Url.ToString() == SlackApiAddress + SlackApiPostMessagePath);
        }