public void CanSaveIncompleteTimeEntry()
        {
            //if (_timeEntryAuditRepository.GetCount(timeEntryAudit.UserId, timeEntryAudit.WeekEndingDate) == 0)
            //{
            //    SaveOrUpdate(timeEntryAudit);
            //}

            TimeEntryAudit validTimeEntryAudit =
                TimeEntryAuditInstanceFactory.CreateValidTransientTimeEntryAudit();
        }
        public void CanSaveOrUpdateValidTimeEntryAudit()
        {
            // Establish Context
            TimeEntryAudit validTimeEntryAudit =
                TimeEntryAuditInstanceFactory.CreateValidTransientTimeEntryAudit();

            // Act
            ActionConfirmation confirmation =
                _timeEntryAuditManagementService.SaveOrUpdate(validTimeEntryAudit);

            // Assert
            confirmation.ShouldNotBeNull();
            confirmation.WasSuccessful.ShouldBeTrue();
            confirmation.Value.ShouldNotBeNull();
            confirmation.Value.ShouldEqual(validTimeEntryAudit);
        }
        public void CanGetTimeEntryAudit()
        {
            // Establish Context
            TimeEntryAudit timeEntryAuditToExpect =
                TimeEntryAuditInstanceFactory.CreateValidTransientTimeEntryAudit();

            WrmsSystem system = WrmsSystemInstanceFactory.CreateValidTransientWrmsSystem();

            _timeEntryAuditRepository.Expect(r => r.Get(Arg <int> .Is.Anything))
            .Return(timeEntryAuditToExpect);

            _wrmsSystemRepository.Expect(r => r.GetByRequestId(Arg <int> .Is.Anything))
            .Return(system);

            // Act
            TimeEntryAudit timeEntryAuditRetrieved =
                _timeEntryAuditManagementService.Get(Arg <int> .Is.Anything);

            // Assert
            timeEntryAuditRetrieved.ShouldNotBeNull();
            timeEntryAuditRetrieved.ShouldEqual(timeEntryAuditToExpect);
        }
        public void CanGetIncompleteWeeklyTimeForAllUsers()
        {
            IList <TimeEntryAudit> timeEntriesToExpect = new List <TimeEntryAudit>();
            IList <Person>         personsToExpect     = new List <Person>();

            TimeEntryAudit timeEntryAudit =
                TimeEntryAuditInstanceFactory.CreateValidTransientTimeEntryAudit();
            Person person = PersonInstanceFactory.CreateValidTransientPerson();

            personsToExpect.Add(person);

            _personManagementService.Expect(r => r.GetActiveStaff()).Return(personsToExpect);

            IList <TimeEntryAuditDto> auditDtos =
                _timeEntryAuditManagementService.GetIncompleteWeeklyTimeForAllUsers(Dates.GetPreviousSaturday());

            foreach (var auditDto in auditDtos)
            {
                Console.WriteLine(String.Format("UserID:{0}, Hours:{1}", auditDto.UserId, auditDto.Hours));
                Assert.That(float.Parse(auditDto.Hours, CultureInfo.InvariantCulture) < 40);
            }
        }
        public void CanGetAllTimeEntries()
        {
            // Establish Context
            IList <TimeEntryAudit> timeEntriesToExpect = new List <TimeEntryAudit>();

            TimeEntryAudit timeEntryAudit =
                TimeEntryAuditInstanceFactory.CreateValidTransientTimeEntryAudit();

            timeEntriesToExpect.Add(timeEntryAudit);

            _timeEntryAuditRepository.Expect(r => r.GetAll())
            .Return(timeEntriesToExpect);

            // Act
            IList <TimeEntryAudit> timeEntriesRetrieved =
                _timeEntryAuditManagementService.GetAll();

            // Assert
            timeEntriesRetrieved.ShouldNotBeNull();
            timeEntriesRetrieved.Count.ShouldEqual(1);
            timeEntriesRetrieved[0].ShouldNotBeNull();
            timeEntriesRetrieved[0].ShouldEqual(timeEntryAudit);
        }
        public void CanUpdateWithValidTimeEntryAuditFromForm()
        {
            // Establish Context
            TimeEntryAudit validTimeEntryAuditFromForm =
                TimeEntryAuditInstanceFactory.CreateValidTransientTimeEntryAudit();

            // Intentionally empty to ensure successful transfer of values
            var timeEntryAuditFromDb = new TimeEntryAudit();

            _timeEntryAuditRepository.Expect(r => r.Get(1))
            .Return(timeEntryAuditFromDb);

            // Act
            ActionConfirmation confirmation =
                _timeEntryAuditManagementService.UpdateWith(validTimeEntryAuditFromForm, 1);

            // Assert
            confirmation.ShouldNotBeNull();
            confirmation.WasSuccessful.ShouldBeTrue();
            confirmation.Value.ShouldNotBeNull();
            confirmation.Value.ShouldEqual(timeEntryAuditFromDb);
            confirmation.Value.ShouldEqual(validTimeEntryAuditFromForm);
        }