Exemplo n.º 1
0
        public void InterpretDeleteMessage_canInterpretDifferentTimeTypeAndDayDeletion(TimeEntryTypeEnum timeEntryType)
        {
            var sut = new DeleteInterpreter().InterpretMessage(ToPayload("delete " + timeEntryType.GetDescription() + " jan-17"));
            var now = DateTime.UtcNow;

            sut.Date.Year.Should().Be(now.Year);
            sut.Date.Month.Should().Be(1);
            sut.Date.Day.Should().Be(17);
            sut.TimeEntryType.Should().Be(timeEntryType);
        }
Exemplo n.º 2
0
        HandleCommand_deleteHoursTypeDefaultDay_returnsDeletedMessage_andOnlyDeletesHoursForThatTypeToday(
            TimeEntryTypeEnum entryType, int hours, int numEntriesToDelete)
        {
            var user             = database.Users.First();
            var date             = DateTime.UtcNow.Date;
            var timeEntryService = new TimeEntryService(user.UserId, database);

            await SetUpHourEntriesAndDays(timeEntryService, date);

            var numEntries = database.TimeEntries.Count();

            var slackMessage = await orchestrator.HandleCommand(new SlashCommandPayload()
            {
                text      = "delete " + entryType.GetDescription(),
                user_id   = user.SlackUserId,
                user_name = user.UserName
            });

            slackMessage.Text.Should().Be($"Deleted {hours:F1} {entryType} hours for date: {date:D}");
            database.TimeEntries.Count().Should().Be(numEntries - numEntriesToDelete);
            database.TimeEntries.Where(x => x.UserId == user.UserId).Sum(x => x.Hours).Should().Be(33 - hours);
            database.TimeEntries.Where(x => x.UserId == user.UserId && x.TimeEntryType == entryType && x.Date == date)
            .ToList().Count.Should().Be(0);
        }
Exemplo n.º 3
0
 public void GetDescription_ReturnsMatchingStringToEnum(TimeEntryTypeEnum type, string name)
 {
     type.GetDescription().Should().Be(name);
 }