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); }
public void SetUp() { _slackGatewaySpy = new SlackGatewaySpy(); _clock = new ClockStub( new DateTimeOffset( new DateTime(2019, 03, 01, 10, 30, 0) ) ); _getBillablePeople = new GetBillablePeople(_slackGatewaySpy, _clock); _slackGatewayStub = new SlackGatewayStub { BillablePeople = new[] { new SlackBillablePerson { Email = "*****@*****.**", Id = "U8723" }, new SlackBillablePerson { Email = "*****@*****.**", Id = "U9999" }, new SlackBillablePerson { Email = "*****@*****.**", Id = "U9998" } } }; _getBillablePeopleWithExclusions = new GetBillablePeople(_slackGatewayStub, _clock); }
public ReminderRegistry() { var slackGateway = new SlackGateway( "https://slack.com/", Environment.GetEnvironmentVariable("SLACK_TOKEN") ); var clock = new Clock(); _getBillablePeople = new GetBillablePeople(slackGateway, clock); _sendReminder = new SendReminder(slackGateway); CreateSchedule(); }
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); }