public void FacilitySpecificConfigurationLogic_UpdateFacilityConfigAsync_ShouldReturnBusinessResponseWithIsSuccess()
        {
            //Arrange
            TransactionQueueConfigurationRequest facilityExtensions = new TransactionQueueConfigurationRequest()
            {
                FacilityKey = Guid.Parse("f37613a6-2bb9-4282-845e-1c6100dd3f6c")
            };
            //Act
            FacilityLogisticsConfig facilitykeyNotExist = new FacilityLogisticsConfig();

            _mockFacilitySpecificConfigurationRepository.Setup(r => r.GetAsync(It.IsAny <Guid>())).ReturnsAsync(facilitykeyNotExist);
            _mockFacilitySpecificConfigurationRepository.Setup(f => f.Update(It.IsAny <FacilityLogisticsConfig>())).Verifiable();

            _unitOfWorkMock.Setup(u => u.CommitChangesAsync()).ReturnsAsync(1);

            var result = _facilitySpecificConfigurationLogic.UpdateFacilityConfigAsync(facilityExtensions).Result;

            //Assert
            Assert.NotNull(result);
            Assert.True(result.IsSuccess);
            Assert.Equal(BusinessResponseMessages.LogisticsConfigurationUpdated, result.Message);

            _mockFacilitySpecificConfigurationRepository.Verify(f => f.Update(It.IsAny <FacilityLogisticsConfig>()), Times.Once);
            _unitOfWorkMock.Verify(w => w.CommitChangesAsync(), Times.Once);
        }
        public async Task FacilitySpecificConfigurationLogic_UpdateFacilityExtensionAsync_ShouldUpdateAndCommitRecordOnProperInput()
        {
            _unitOfWorkMock.Setup(u => u.CommitChangesAsync()).ReturnsAsync(1);

            Guid facilityKey = Guid.Parse("BEC05D78-2F6C-4034-8FB9-ACE3417F83E8");
            FacilityLogisticsConfig existingfacilitySpecificConfiguration = new FacilityLogisticsConfig()
            {
                FacilityKey = facilityKey
            };

            _mockFacilitySpecificConfigurationRepository.Setup(f => f.GetAsync(facilityKey)).ReturnsAsync(existingfacilitySpecificConfiguration);
            _mockFacilitySpecificConfigurationRepository.Setup(f => f.Update(It.IsAny <FacilityLogisticsConfig>())).Verifiable();


            FacilityLogisticsConfigurationExtension facilityExtensions = new FacilityLogisticsConfigurationExtension()
            {
                FacilityKey = facilityKey
            };

            await _facilitySpecificConfigurationLogic.UpdateFacilityExtensionAsync(facilityExtensions);

            // Assert
            _mockFacilitySpecificConfigurationRepository.Verify(f => f.Update(It.IsAny <FacilityLogisticsConfig>()), Times.Once);
            _unitOfWorkMock.Verify(w => w.CommitChangesAsync(), Times.Once);
        }
        public void FacilitySpecificConfigurationLogic_UpdateFacilityConfigAsync_ShouldReturnBusinessResponseWithIsSuccessFalseWhenFacilityNotExists()
        {
            //Arrange
            TransactionQueueConfigurationRequest facilityExtensions = new TransactionQueueConfigurationRequest()
            {
                FacilityKey = Guid.Parse("f37613a6-2bb9-4282-845e-1c6100dd3f6c")
            };
            //Act
            FacilityLogisticsConfig facilitykeyNotExist = null;

            _mockFacilitySpecificConfigurationRepository.Setup(r => r.GetAsync(It.IsAny <Guid>())).ReturnsAsync(facilitykeyNotExist);
            var result = _facilitySpecificConfigurationLogic.UpdateFacilityConfigAsync(facilityExtensions).Result;

            //Assert
            Assert.NotNull(result);
            Assert.False(result.IsSuccess);
            Assert.Equal(BusinessError.RecordNotFound, result.Message);
        }