public void SearchProjectEntries_ShouldReturnAllEntries_WhenSearchStringIsNullOrEmpty()
        {
            var sut          = new ProjectEntryHandler(_context, _projectEntryRepository);
            var entries      = _context.ProjectEntries.ToList();
            var searchString = string.Empty;

            var result = sut.SearchProjectEntries(searchString, entries);

            Assert.That(result, Is.EqualTo(entries));
        }
        public void SearchProjectEntries_ShouldreturnResults_WhenProvidedMiddleCharactersInChangeListNo()
        {
            var sut          = new ProjectEntryHandler(_context, _projectEntryRepository);
            var entries      = _context.ProjectEntries.ToList();
            var searchString = entries.First().ChangeListNo.Substring(2, 4);

            var expected = entries.Where(entry =>
                                         entry.ChangeListNo.ToLower().Substring(0, 8).Contains(searchString.ToLower())).ToList();
            var result = sut.SearchProjectEntries(searchString, entries);

            Assert.That(result, Is.EqualTo(expected));
        }
        public void SearchProjectEntries_ShouldReturnNoResults_WhenSearchStringIsNotFoundInAnyEntry()
        {
            var sut               = new ProjectEntryHandler(_context, _projectEntryRepository);
            var entries           = _context.ProjectEntries.ToList();
            var randomEntryNumber = _randomizer.RandomNumber(_minEntryIndex, _maxEntryIndex);
            var searchString      = "onomatopeia";

            var expected = entries.Where(entry => entry.Description == searchString);
            var result   = sut.SearchProjectEntries(searchString, entries);

            CollectionAssert.IsEmpty(result);
        }
        public void SearchProjectEntries_ShouldFindEntry_ThatContainsProvidedString()
        {
            var sut               = new ProjectEntryHandler(_context, _projectEntryRepository);
            var entries           = _context.ProjectEntries.ToList();
            var randomEntryNumber = _randomizer.RandomNumber(_minEntryIndex, _maxEntryIndex);
            var searchString      = entries[randomEntryNumber].Description;

            var expected = entries.Where(entry => entry.Description == searchString);
            var result   = sut.SearchProjectEntries(searchString, entries);

            Assert.That(result, Is.EqualTo(expected));
        }
        public void SearchProjectEntries_ShouldReturnNoEntries_WhenDescriptionIsNullAndSearchStringNotFound()
        {
            var sut          = new ProjectEntryHandler(_context, _projectEntryRepository);
            var searchString = "test";

            var entries = _context.ProjectEntries.ToList();

            entries.First().Description = null;

            var result = sut.SearchProjectEntries(searchString, entries);

            CollectionAssert.IsEmpty(result);
        }