Files
Sonarr/NzbDrone.Core.Test/ConfigProviderTest.cs
T

64 lines
1.9 KiB
C#
Raw Normal View History

2011-04-09 19:44:01 -07:00
using AutoMoq;
2010-09-23 23:16:43 -07:00
using Moq;
2011-06-01 21:50:10 -07:00
using NUnit.Framework;
2011-04-03 20:50:12 -07:00
using NzbDrone.Core.Providers.Core;
2010-10-20 18:49:23 -07:00
using NzbDrone.Core.Repository;
using NzbDrone.Core.Test.Framework;
2010-09-23 23:16:43 -07:00
using SubSonic.Repository;
namespace NzbDrone.Core.Test
{
[TestFixture]
2010-09-24 11:14:15 -07:00
// ReSharper disable InconsistentNaming
public class ConfigProviderTest : TestBase
2010-09-23 23:16:43 -07:00
{
[Test]
public void Overwrite_existing_value()
{
2010-09-24 11:14:15 -07:00
const string key = "MY_KEY";
const string value = "MY_VALUE";
2010-09-23 23:16:43 -07:00
2010-09-24 11:14:15 -07:00
//Arrange
2011-04-09 19:44:01 -07:00
var config = new Config {Key = key, Value = value};
2011-04-06 20:34:48 -07:00
var mocker = new AutoMoqer();
mocker.GetMock<IRepository>()
2011-04-09 19:44:01 -07:00
.Setup(r => r.Single<Config>(key))
.Returns(config);
2010-09-23 23:16:43 -07:00
//Act
2011-04-06 20:34:48 -07:00
mocker.Resolve<ConfigProvider>().SetValue(key, value);
2010-09-23 23:16:43 -07:00
//Assert
2011-04-06 20:34:48 -07:00
mocker.GetMock<IRepository>().Verify(c => c.Update(config));
mocker.GetMock<IRepository>().Verify(c => c.Add(It.IsAny<Config>()), Times.Never());
2010-09-23 23:16:43 -07:00
}
[Test]
public void Add_new_value()
{
2010-09-24 11:14:15 -07:00
const string key = "MY_KEY";
const string value = "MY_VALUE";
2010-09-23 23:16:43 -07:00
2010-09-24 11:14:15 -07:00
//Arrange
2011-04-06 20:34:48 -07:00
var mocker = new AutoMoqer();
mocker.GetMock<IRepository>()
2011-04-09 19:44:01 -07:00
.Setup(r => r.Single<Config>(It.IsAny<string>()))
.Returns<Config>(null)
.Verifiable();
2010-09-23 23:16:43 -07:00
//Act
2011-04-06 20:34:48 -07:00
mocker.Resolve<ConfigProvider>().SetValue(key, value);
2010-09-23 23:16:43 -07:00
//Assert
2011-04-06 20:34:48 -07:00
mocker.GetMock<IRepository>().Verify();
mocker.GetMock<IRepository>().Verify(r => r.Update(It.IsAny<Config>()), Times.Never());
2011-04-09 19:44:01 -07:00
mocker.GetMock<IRepository>().Verify(r => r.Add(It.Is<Config>(c => c.Key == key && c.Value == value)),
Times.Once());
2011-06-01 21:50:10 -07:00
Assert.Pass();
2010-09-23 23:16:43 -07:00
}
}
2011-04-09 19:44:01 -07:00
}