Ejemplo n.º 1
0
        public void AddTimeEntry_OverlappingEntry5()
        {
            using (var transaction = _db.Connection.BeginTransaction())
            {
                var context   = _db.CreateContext(transaction);
                var tsService = new EFTimeSheetService(context, _mapper, new NullLogger <EFTimeSheetService>());

                var createDto1 = new TimeEntryCreateDto
                {
                    MemberId   = context.Members.FirstOrDefault().Id,
                    PositionId = context.Positions.FirstOrDefault().Id,
                    StartTime  = DateTime.Now,
                    EndTime    = DateTime.Now + new TimeSpan(4, 0, 0)
                };

                var createDto2 = new TimeEntryCreateDto
                {
                    MemberId   = context.Members.FirstOrDefault().Id,
                    PositionId = context.Positions.FirstOrDefault().Id,
                    StartTime  = DateTime.Now - new TimeSpan(1, 0, 0),
                    EndTime    = DateTime.Now + new TimeSpan(3, 0, 0)
                };

                var        existingMemberTimeEntryId  = context.TimeEntries.FirstOrDefault(t => t.MemberId == createDto2.MemberId && t.EndTime == null).Id;
                List <int> existingMemberTimeEntryIds = new List <int>();
                existingMemberTimeEntryIds.Add(existingMemberTimeEntryId);
                var deleteMemberEntry = tsService.DeleteEntries(existingMemberTimeEntryIds).Result;

                var result = tsService.AddFullEntry(createDto1).Result;
                Assert.True(result.Successful);

                result = tsService.AddFullEntry(createDto2).Result;
                Assert.False(result.Successful);
            }
        }
Ejemplo n.º 2
0
        public void AddTimeEntry_Success()
        {
            using (var transaction = _db.Connection.BeginTransaction())
            {
                var context        = _db.CreateContext(transaction);
                int initNumEntries = context.TimeEntries.Where(t => t.EndTime != null).Count();
                var tsService      = new EFTimeSheetService(context, _mapper, new NullLogger <EFTimeSheetService>());

                var createDto = new TimeEntryCreateDto
                {
                    MemberId   = context.Members.FirstOrDefault().Id,
                    PositionId = context.Positions.FirstOrDefault().Id,
                    StartTime  = DateTime.Now.AddDays(1),
                    EndTime    = DateTime.Now.AddDays(1) + new TimeSpan(4, 0, 0)
                };

                var        existingMemberTimeEntryId  = context.TimeEntries.FirstOrDefault(t => t.MemberId == createDto.MemberId && t.EndTime == null).Id;
                List <int> existingMemberTimeEntryIds = new List <int>();
                existingMemberTimeEntryIds.Add(existingMemberTimeEntryId);
                var deleteMemberEntry = tsService.DeleteEntries(existingMemberTimeEntryIds).Result;

                var result = tsService.AddFullEntry(createDto).Result;

                Assert.True(result.Successful);
                Assert.True(result.Data.Count > initNumEntries);
            }
        }
Ejemplo n.º 3
0
        public void AddTimeEntry_EntryMissingEndTime()
        {
            using (var transaction = _db.Connection.BeginTransaction())
            {
                var context   = _db.CreateContext(transaction);
                var tsService = new EFTimeSheetService(context, _mapper, new NullLogger <EFTimeSheetService>());

                var createDto = new TimeEntryCreateDto
                {
                    MemberId   = context.Members.FirstOrDefault().Id,
                    PositionId = context.Positions.FirstOrDefault().Id,
                    StartTime  = DateTime.Now,
                };

                var result = tsService.AddFullEntry(createDto).Result;

                Assert.False(result.Successful);
            }
        }