Exemplo n.º 1
0
        public async Task <IActionResult> OnGetAsync()
        {
            Spec = new FacilitySpec();
            await PopulateSelectsAsync();

            return(Page());
        }
Exemplo n.º 2
0
        public async Task FacilityCount_DefaultSpec_ReturnsCountOfActiveFacilities()
        {
            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec();

            var result = await repository.CountAsync(spec);

            var expected = RepositoryData.Facilities().Count(e => e.Active);

            result.Should().Be(expected);
        }
Exemplo n.º 3
0
        public async Task <IActionResult> OnGetSearchAsync(FacilitySpec spec, [FromQuery] int p = 1)
        {
            // Get the list of facilities matching the "Spec" criteria
            FacilityList = await _repository.GetFacilityPaginatedListAsync(spec, p, GlobalConstants.PageSize);

            Spec = spec;

            ShowResults = true;
            await PopulateSelectsAsync();

            return(Page());
        }
Exemplo n.º 4
0
        public async Task FacilityCount_WithDeleted_ReturnsCountOfAll()
        {
            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec()
            {
                ShowDeleted = true
            };

            var result = await repository.CountAsync(spec);

            var expected = RepositoryData.Facilities().Count;

            result.Should().Be(expected);
        }
Exemplo n.º 5
0
        public async Task FacilityCount_ByMissingFacilityNumber_ReturnsZero()
        {
            const string facilityNumber = "zzz";

            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec()
            {
                FacilityNumber = facilityNumber
            };

            var result = await repository.CountAsync(spec);

            result.Should().Be(0);
        }
Exemplo n.º 6
0
        public async Task FacilityCount_ByMissingCounty_ReturnsZero()
        {
            const int countyId = 243;

            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec()
            {
                CountyId = countyId
            };

            var result = await repository.CountAsync(spec);

            result.Should().Be(0);
        }
Exemplo n.º 7
0
        public async Task FacilitySearch_BeyondLastPage_ReturnsEmptyList()
        {
            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec()
            {
                ShowDeleted = true
            };

            var result = await repository.GetFacilityPaginatedListAsync(spec, 999, 999);

            result.TotalCount.ShouldEqual(RepositoryData.Facilities().Count);
            result.Items.Count.ShouldEqual(0);
            result.PageNumber.ShouldEqual(999);
            result.TotalPages.ShouldEqual(1);
        }
Exemplo n.º 8
0
        // [InlineData("ghi")] Sqlite is case-sensitive by default
        public async Task FacilityCount_ByFacilityNumber_ReturnsCorrectCount(string facilityNumberSpec)
        {
            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec()
            {
                FacilityNumber = facilityNumberSpec
            };

            var result = await repository.CountAsync(spec);

            var expected = RepositoryData.Facilities()
                           .Count(e => e.FacilityNumber.ToLower().Contains(facilityNumberSpec.ToLower()) && e.Active);

            result.Should().Be(expected);
        }
Exemplo n.º 9
0
        public async Task FacilityCount_ByCounty_ReturnsCorrectCount()
        {
            const int countyId = 131;
            var       spec     = new FacilitySpec()
            {
                CountyId = countyId
            };

            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var result = await repository.CountAsync(spec);

            var expected = RepositoryData.Facilities()
                           .Count(e => e.CountyId == countyId && e.Active);

            result.Should().Be(expected);
        }
Exemplo n.º 10
0
        public async Task FacilitySearch_Page2_ReturnsSecondPage()
        {
            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec()
            {
                ShowDeleted = true
            };

            var result = await repository.GetFacilityPaginatedListAsync(spec, 2, 2);

            var expectedPages = (int)Math.Ceiling(RepositoryData.Facilities().Count / 2m);

            result.TotalCount.ShouldEqual(RepositoryData.Facilities().Count);
            result.Items.Count.ShouldEqual(2);
            result.PageNumber.ShouldEqual(2);
            result.TotalPages.ShouldEqual(expectedPages);
        }
Exemplo n.º 11
0
        public async Task FacilitySearch_ByMissingFacilityNumber_ReturnsEmpty()
        {
            const string facilityNumberSpec = "zzz";

            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec()
            {
                FacilityNumber = facilityNumberSpec
            };

            var result = await repository.GetFacilityPaginatedListAsync(spec, 1, 999);

            result.TotalCount.ShouldEqual(0);
            result.Items.Count.ShouldEqual(0);
            result.PageNumber.ShouldEqual(1);
            result.TotalPages.ShouldEqual(0);
        }
Exemplo n.º 12
0
        public async Task FacilitySearch_ByLocation_ReturnsCorrectList(string locationSpec)
        {
            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec()
            {
                Location = locationSpec, ShowDeleted = true
            };

            var result = await repository.GetFacilityPaginatedListAsync(spec, 1, 999);

            var expectedCount = RepositoryData.Facilities().Count(e => e.Location.Contains(locationSpec));

            result.TotalCount.ShouldEqual(expectedCount);
            result.Items.Count.ShouldEqual(expectedCount);
            result.PageNumber.ShouldEqual(1);
            result.TotalPages.ShouldEqual(1);
        }
Exemplo n.º 13
0
        public async Task FacilitySearch_WithDeleted_ReturnsAllFacilities()
        {
            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec()
            {
                ShowDeleted = true
            };

            var result = await repository.GetFacilityPaginatedListAsync(spec, 1, 999);

            var expectedCount = RepositoryData.Facilities().Count;

            result.TotalCount.ShouldEqual(expectedCount);
            result.Items.Count.ShouldEqual(expectedCount);
            result.PageNumber.ShouldEqual(1);
            result.TotalPages.ShouldEqual(1);
        }
Exemplo n.º 14
0
        // [InlineData("ghi")] Sqlite is case-sensitive by default
        public async Task FacilitySearch_ByFacilityNumber_ReturnsCorrectList(string facilityNumberSpec)
        {
            using var repository = CreateRepositoryHelper().GetFacilityRepository();
            var spec = new FacilitySpec()
            {
                FacilityNumber = facilityNumberSpec, ShowDeleted = true
            };

            var result = await repository.GetFacilityPaginatedListAsync(spec, 1, 999);

            var expectedCount = RepositoryData.Facilities()
                                .Count(e => e.FacilityNumber.ToLower().Contains(facilityNumberSpec.ToLower()) && e.Active);

            result.TotalCount.ShouldEqual(expectedCount);
            result.Items.Count.ShouldEqual(expectedCount);
            result.PageNumber.ShouldEqual(1);
            result.TotalPages.ShouldEqual(1);
        }
Exemplo n.º 15
0
        public async Task FacilitySearch_ByMissingCounty_ReturnsNone()
        {
            const int countySpec = 243;
            var       spec       = new FacilitySpec()
            {
                CountyId = countySpec, ShowDeleted = true
            };

            using var repository = CreateRepositoryHelper().GetFacilityRepository();

            var result = await repository.GetFacilityPaginatedListAsync(spec, 1, 999);

            var expectedCount = RepositoryData.Facilities().Count(e => e.CountyId == countySpec);

            result.TotalCount.ShouldEqual(expectedCount);
            result.Items.Count.ShouldEqual(expectedCount);
            result.PageNumber.ShouldEqual(1);
            result.TotalPages.ShouldEqual(0);
        }