mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Removing direct references to IContainer and IContainerProvider from within components Fixing broken tests --HG-- branch : dev
45 lines
1.5 KiB
C#
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());
|
|
}
|
|
}
|
|
}
|