mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-20 13:33:34 -07:00
less intrusive cache prevention.
more tests.
This commit is contained in:
parent
5dbaaee005
commit
9f829c1442
9 changed files with 131 additions and 177 deletions
|
@ -1,12 +1,8 @@
|
|||
using System.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Model;
|
||||
using NzbDrone.Core.Repository;
|
||||
using NzbDrone.Core.Repository.Quality;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using Db4objects.Db4o.Linq;
|
||||
|
||||
|
@ -18,7 +14,7 @@ namespace NzbDrone.Core.Test.Datastore
|
|||
[SetUp]
|
||||
public void SetUp()
|
||||
{
|
||||
WithObjectDb();
|
||||
WithObjectDb(false);
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -27,7 +23,7 @@ namespace NzbDrone.Core.Test.Datastore
|
|||
|
||||
var series = Builder<Series>.CreateNew().Build();
|
||||
|
||||
ObjDb.Save(series);
|
||||
ObjDb.Create(series);
|
||||
|
||||
ObjDb.Ext().Purge();
|
||||
|
||||
|
@ -41,14 +37,76 @@ namespace NzbDrone.Core.Test.Datastore
|
|||
var episode = Builder<Episode>.CreateNew().Build();
|
||||
|
||||
//Save series without episode attached
|
||||
ObjDb.Save(episode);
|
||||
ObjDb.Create(episode);
|
||||
|
||||
ObjDb.AsQueryable<Episode>().Single().Series.Should().BeNull();
|
||||
|
||||
episode.Series = Builder<Series>.CreateNew().Build();
|
||||
|
||||
ObjDb.AsQueryable<Episode>().Single().Series.Should().BeNull();
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void rollback_should_reset_state()
|
||||
{
|
||||
var episode = Builder<Episode>.CreateNew().Build();
|
||||
|
||||
ObjDb.Create(episode);
|
||||
|
||||
ObjDb.AsQueryable<Episode>().Should().HaveCount(1);
|
||||
|
||||
ObjDb.Rollback();
|
||||
|
||||
ObjDb.AsQueryable<Episode>().Should().HaveCount(0);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void roolback_should_only_roll_back_what_is_not_commited()
|
||||
{
|
||||
var episode = Builder<Episode>.CreateNew().Build();
|
||||
var series = Builder<Series>.CreateNew().Build();
|
||||
|
||||
ObjDb.Create(episode);
|
||||
|
||||
ObjDb.Commit();
|
||||
|
||||
ObjDb.Create(series);
|
||||
|
||||
ObjDb.Rollback();
|
||||
|
||||
ObjDb.AsQueryable<Episode>().Should().HaveCount(1);
|
||||
ObjDb.AsQueryable<Series>().Should().HaveCount(0);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void should_store_nested_objects()
|
||||
{
|
||||
var episode = Builder<Episode>.CreateNew().Build();
|
||||
episode.Series = Builder<Series>.CreateNew().Build();
|
||||
|
||||
ObjDb.Create(episode);
|
||||
|
||||
ObjDb.AsQueryable<Episode>().Should().HaveCount(1);
|
||||
ObjDb.AsQueryable<Episode>().Single().Series.Should().NotBeNull();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_update_nested_objects()
|
||||
{
|
||||
var episode = Builder<Episode>.CreateNew().Build();
|
||||
episode.Series = Builder<Series>.CreateNew().Build();
|
||||
|
||||
ObjDb.Create(episode);
|
||||
|
||||
episode.Series.Title = "UpdatedTitle";
|
||||
|
||||
ObjDb.Update(episode,2);
|
||||
|
||||
ObjDb.AsQueryable<Episode>().Should().HaveCount(1);
|
||||
ObjDb.AsQueryable<Episode>().Single().Series.Should().NotBeNull();
|
||||
ObjDb.AsQueryable<Episode>().Single().Series.Title.Should().Be("UpdatedTitle");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue