You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
61 lines
1.6 KiB
using System.Data.SQLite;
|
|
using FluentAssertions;
|
|
using NUnit.Framework;
|
|
using NzbDrone.Core.Datastore.Converters;
|
|
using NzbDrone.Core.Messaging.Commands;
|
|
using NzbDrone.Core.Music.Commands;
|
|
using NzbDrone.Core.Test.Framework;
|
|
|
|
namespace NzbDrone.Core.Test.Datastore.Converters
|
|
{
|
|
[TestFixture]
|
|
public class CommandConverterFixture : CoreTest<CommandConverter>
|
|
{
|
|
private SQLiteParameter _param;
|
|
|
|
[SetUp]
|
|
public void Setup()
|
|
{
|
|
_param = new SQLiteParameter();
|
|
}
|
|
|
|
[Test]
|
|
public void should_return_json_string_when_saving_boolean_to_db()
|
|
{
|
|
var command = new RefreshArtistCommand();
|
|
|
|
Subject.SetValue(_param, command);
|
|
_param.Value.Should().BeOfType<string>();
|
|
}
|
|
|
|
[Test]
|
|
public void should_return_null_for_null_value_when_saving_to_db()
|
|
{
|
|
Subject.SetValue(_param, null);
|
|
_param.Value.Should().BeNull();
|
|
}
|
|
|
|
[Test]
|
|
public void should_return_command_when_getting_json_from_db()
|
|
{
|
|
var data = "{\"name\": \"RefreshArtist\"}";
|
|
|
|
Subject.Parse(data).Should().BeOfType<RefreshArtistCommand>();
|
|
}
|
|
|
|
[Test]
|
|
public void should_return_unknown_command_when_getting_json_from_db()
|
|
{
|
|
var data = "{\"name\": \"EnsureMediaCovers\"}";
|
|
|
|
Subject.Parse(data).Should().BeOfType<UnknownCommand>();
|
|
}
|
|
|
|
[Test]
|
|
public void should_return_null_for_null_value_when_getting_from_db()
|
|
{
|
|
Subject.Parse(null).Should().BeNull();
|
|
}
|
|
}
|
|
}
|