public void GetConfigValue_WhenConfigKeyIsValid_ReturnsThePertinentConfigValue(string configKey, string expectedConfigValue) { // Arrange var mockOptions = new Mock <IOptions <ExternalApiSettings> >(); mockOptions .Setup(o => o.Value) .Returns(new ExternalApiSettings() { Token = TokenValue, BaseUrl = BaseUrlValue }); var sutConfigProvider = new ConfigProvider(mockOptions.Object); // Act var result = sutConfigProvider.GetConfigValue(configKey); // Assert result.Should().Be(expectedConfigValue); }
public void GetConfigValue_WhenConfigKeyIsNullOrEmptyOrWhiteSpace_ThrowsProperArgumentException(string configKey) { // Arrange var mockOptions = new Mock <IOptions <ExternalApiSettings> >(); mockOptions .Setup(o => o.Value) .Returns(new ExternalApiSettings() { Token = TokenValue, BaseUrl = BaseUrlValue }); var sutConfigProvider = new ConfigProvider(mockOptions.Object); // Act Action action = () => sutConfigProvider.GetConfigValue(configKey); // Assert var expectedErrorMessage = "ConfigKey cannot be null or empty or only whitespace."; action.Should() .ThrowExactly <ArgumentException>() .WithMessage(expectedErrorMessage); }
public void GetConfigValue_WhenConfigKeyIsInvalid_ThrowsProperArgumentException() { // Arrange var configKey = "InvalidKey"; var mockOptions = new Mock <IOptions <ExternalApiSettings> >(); mockOptions .Setup(o => o.Value) .Returns(new ExternalApiSettings() { Token = TokenValue, BaseUrl = BaseUrlValue }); var sutConfigProvider = new ConfigProvider(mockOptions.Object); // Act Action action = () => sutConfigProvider.GetConfigValue(configKey); // Assert var expectedErrorMessage = $"ConfigKey '{configKey}' is not valid."; action.Should() .ThrowExactly <ArgumentException>() .WithMessage(expectedErrorMessage); }