Files
Orchard/src/Orchard.Tests/Tasks/SweepGeneratorTests.cs
Louis DeJardin c4e1cbeb53 Continued adjustments
Removing direct references to IContainer and IContainerProvider from within components
Fixing broken tests

--HG--
branch : dev
2010-09-02 22:14:07 -07:00

45 lines
1.5 KiB
C#

using System;
using Autofac;
using Moq;
using NUnit.Framework;
using Orchard.Environment;
using Orchard.Mvc;
using Orchard.Tasks;
using Orchard.Tests.Utility;
namespace Orchard.Tests.Tasks {
[TestFixture]
public class SweepGeneratorTests : ContainerTestBase {
protected override void Register(ContainerBuilder builder) {
builder.RegisterAutoMocking(MockBehavior.Loose);
builder.RegisterType<DefaultWorkContextAccessor>().As<IWorkContextAccessor>();
builder.RegisterType<SweepGenerator>();
}
[Test]
public void DoWorkShouldSendHeartbeatToTaskManager() {
var heartbeatSource = _container.Resolve<SweepGenerator>();
heartbeatSource.DoWork();
_container.Resolve<Mock<IBackgroundService>>()
.Verify(x => x.Sweep(), Times.Once());
}
[Test]
public void ActivatedEventShouldStartTimer() {
var heartbeatSource = _container.Resolve<SweepGenerator>();
heartbeatSource.Interval = TimeSpan.FromMilliseconds(25);
_container.Resolve<Mock<IBackgroundService>>()
.Verify(x => x.Sweep(), Times.Never());
heartbeatSource.Activated();
System.Threading.Thread.Sleep(TimeSpan.FromMilliseconds(80));
heartbeatSource.Terminating();
_container.Resolve<Mock<IBackgroundService>>()
.Verify(x => x.Sweep(), Times.AtLeastOnce());
}
}
}