mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Fixing OrchardHost unit tests
This commit is contained in:
@@ -95,6 +95,10 @@ namespace Orchard.Tests.Environment {
|
|||||||
var ext = new ExtensionDescriptor { Id = "Orchard.Framework" };
|
var ext = new ExtensionDescriptor { Id = "Orchard.Framework" };
|
||||||
ext.Features = new[] { new FeatureDescriptor { Extension = ext, Id = ext.Id } };
|
ext.Features = new[] { new FeatureDescriptor { Extension = ext, Id = ext.Id } };
|
||||||
yield return ext;
|
yield return ext;
|
||||||
|
|
||||||
|
var settings = new ExtensionDescriptor { Id = "Settings" };
|
||||||
|
settings.Features = new[] { new FeatureDescriptor { Extension = settings, Id = settings.Id } };
|
||||||
|
yield return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<FeatureDescriptor> AvailableFeatures() {
|
public IEnumerable<FeatureDescriptor> AvailableFeatures() {
|
||||||
@@ -177,6 +181,7 @@ namespace Orchard.Tests.Environment {
|
|||||||
Assert.That(again2a, Is.SameAs(dep2a));
|
Assert.That(again2a, Is.SameAs(dep2a));
|
||||||
Assert.That(again2b, Is.SameAs(dep2b));
|
Assert.That(again2b, Is.SameAs(dep2b));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void SingletonDependenciesShouldBeUniquePerShell() {
|
public void SingletonDependenciesShouldBeUniquePerShell() {
|
||||||
var host = _lifetime.Resolve<IOrchardHost>();
|
var host = _lifetime.Resolve<IOrchardHost>();
|
||||||
@@ -200,6 +205,7 @@ namespace Orchard.Tests.Environment {
|
|||||||
Assert.That(dep2, Is.SameAs(dep2a));
|
Assert.That(dep2, Is.SameAs(dep2a));
|
||||||
Assert.That(dep2, Is.SameAs(dep2b));
|
Assert.That(dep2, Is.SameAs(dep2b));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TransientDependenciesShouldBeUniquePerResolve() {
|
public void TransientDependenciesShouldBeUniquePerResolve() {
|
||||||
var host = _lifetime.Resolve<IOrchardHost>();
|
var host = _lifetime.Resolve<IOrchardHost>();
|
||||||
|
|||||||
@@ -34,7 +34,11 @@ namespace Orchard.Environment.ShellBuilders {
|
|||||||
|
|
||||||
var builtinFeatures = BuiltinFeatures().ToList();
|
var builtinFeatures = BuiltinFeatures().ToList();
|
||||||
var builtinFeatureDescriptors = builtinFeatures.Select(x => x.Descriptor).ToList();
|
var builtinFeatureDescriptors = builtinFeatures.Select(x => x.Descriptor).ToList();
|
||||||
var availableFeatures = _extensionManager.AvailableFeatures().Concat(builtinFeatureDescriptors).ToDictionary(x => x.Id, StringComparer.OrdinalIgnoreCase);
|
var availableFeatures = _extensionManager.AvailableFeatures()
|
||||||
|
.Concat(builtinFeatureDescriptors)
|
||||||
|
.GroupBy(x => x.Id.ToLowerInvariant()) // prevent duplicates
|
||||||
|
.Select(x => x.FirstOrDefault())
|
||||||
|
.ToDictionary(x => x.Id, StringComparer.OrdinalIgnoreCase);
|
||||||
var enabledFeatures = _extensionManager.EnabledFeatures(descriptor).Select(x => x.Id).ToList();
|
var enabledFeatures = _extensionManager.EnabledFeatures(descriptor).Select(x => x.Id).ToList();
|
||||||
var expandedFeatures = ExpandDependencies(availableFeatures, descriptor.Features.Select(x => x.Name)).ToList();
|
var expandedFeatures = ExpandDependencies(availableFeatures, descriptor.Features.Select(x => x.Name)).ToList();
|
||||||
var autoEnabledDependencyFeatures = expandedFeatures.Except(enabledFeatures).Except(builtinFeatureDescriptors.Select(x => x.Id)).ToList();
|
var autoEnabledDependencyFeatures = expandedFeatures.Except(enabledFeatures).Except(builtinFeatureDescriptors.Select(x => x.Id)).ToList();
|
||||||
|
|||||||
Reference in New Issue
Block a user