Example #1
0
        public async Task GetFacilityByIdTest()
        {
            var guid          = Guid.NewGuid();
            var createdDate   = DateTimeOffset.Now;
            var modifiedDate  = DateTimeOffset.Now;
            var dummyFacility = GetMockFacility(guid, createdDate, modifiedDate);
            var dummyResponse = GetMockFacilityRequest(dummyFacility);

            //Arrange
            _mockRepo.Reset();
            _mockRepo.Setup(b => b.GetAsync(It.IsAny <Guid>()))
            .ReturnsAsync(dummyFacility);

            //Act
            var result = await _subjectUnderTest.GetFacilityByKeyAsync(guid);

            //Assert
            _mockRepo.Verify();
            Assert.NotNull(result);
            Assert.Equal(dummyResponse.FacilityKey, result.FacilityKey);
            Assert.Equal(dummyResponse.FacilityCode, result.FacilityCode);
        }
        public async Task <IActionResult> GetFacilityByKey(Guid facilityKey)
        {
            _logger.LogDebug("Get Facility by FacilityKey called with {FacilityKey}", facilityKey);
            if (facilityKey.Equals(Guid.Empty))
            {
                ModelState.AddModelError("facilitykey", "Empty or null Facility Key");
                _logger.LogError("Empty or null facility key passed {FacilityKey}", facilityKey);
                return(BadRequest(new ModelStateRequestValidationAdaptor(ModelState)));
            }

            var facility = await _facilityManager.GetFacilityByKeyAsync(facilityKey);

            if (facility == null)
            {
                _logger.LogError("No facility Key found with Facility key {FacilityKey}", facilityKey);
                ModelState.AddModelError("facilitykey", "Facility Key");
                return(NotFound($"No facility Key found with Facility key {facilityKey}"));
            }

            return(Ok(facility));
        }