mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-01-07 10:14:43 +08:00
Updated recipes unit test to accommodate Orchard.Recipes changes.
This commit is contained in:
@@ -159,8 +159,9 @@
|
|||||||
<Compile Include="Packaging\Services\FileBasedProjectSystemTests.cs" />
|
<Compile Include="Packaging\Services\FileBasedProjectSystemTests.cs" />
|
||||||
<Compile Include="Packaging\Services\FolderUpdaterTests.cs" />
|
<Compile Include="Packaging\Services\FolderUpdaterTests.cs" />
|
||||||
<Compile Include="Packaging\Services\PackageInstallerTests.cs" />
|
<Compile Include="Packaging\Services\PackageInstallerTests.cs" />
|
||||||
|
<Compile Include="Recipes\RecipeHandlers\RecipeExecutionStepHandlerTest.cs" />
|
||||||
<Compile Include="Recipes\RecipeHandlers\ModuleStepTest.cs" />
|
<Compile Include="Recipes\RecipeHandlers\ModuleStepTest.cs" />
|
||||||
<Compile Include="Recipes\RecipeHandlers\ThemeRecipeHandlerTest.cs" />
|
<Compile Include="Recipes\RecipeHandlers\ThemeStepTest.cs" />
|
||||||
<Compile Include="Recipes\Services\RecipeManagerTests.cs" />
|
<Compile Include="Recipes\Services\RecipeManagerTests.cs" />
|
||||||
<Compile Include="Scripting.Dlr\EvaluatorTests.cs" />
|
<Compile Include="Scripting.Dlr\EvaluatorTests.cs" />
|
||||||
<Compile Include="Scripting\EvaluatorTestsBase.cs" />
|
<Compile Include="Scripting\EvaluatorTestsBase.cs" />
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ using Orchard.Packaging.Models;
|
|||||||
using Orchard.Packaging.Services;
|
using Orchard.Packaging.Services;
|
||||||
using Orchard.Recipes.Models;
|
using Orchard.Recipes.Models;
|
||||||
using Orchard.Recipes.Providers.Executors;
|
using Orchard.Recipes.Providers.Executors;
|
||||||
using Orchard.Recipes.Services;
|
|
||||||
using Orchard.Tests.Environment.Extensions;
|
using Orchard.Tests.Environment.Extensions;
|
||||||
using Orchard.Tests.Environment.Features;
|
using Orchard.Tests.Environment.Features;
|
||||||
using Orchard.Tests.Stubs;
|
using Orchard.Tests.Stubs;
|
||||||
@@ -87,27 +86,26 @@ Features:
|
|||||||
IsLatestVersion = true,
|
IsLatestVersion = true,
|
||||||
});
|
});
|
||||||
|
|
||||||
IShellDescriptorManager shellDescriptorManager = _container.Resolve<IShellDescriptorManager>();
|
var shellDescriptorManager = _container.Resolve<IShellDescriptorManager>();
|
||||||
// No features enabled
|
// No features enabled
|
||||||
shellDescriptorManager.UpdateShellDescriptor(0,
|
shellDescriptorManager.UpdateShellDescriptor(
|
||||||
Enumerable.Empty<ShellFeature>(),
|
0,
|
||||||
Enumerable.Empty<ShellParameter>());
|
Enumerable.Empty<ShellFeature>(),
|
||||||
|
Enumerable.Empty<ShellParameter>());
|
||||||
|
|
||||||
var moduleStep = _container.Resolve<ModuleStep>();
|
var moduleStep = _container.Resolve<ModuleStep>();
|
||||||
var recipeContext = new RecipeContext { RecipeStep = new RecipeStep { Name = "Module", Step = new XElement("SuperWiki") } };
|
var recipeExecutionContext = new RecipeExecutionContext {RecipeStep = new RecipeStep { Name = "Module", Step = new XElement("SuperWiki") } };
|
||||||
var recipeExecutionContext = new RecipeExecutionContext {RecipeStep = recipeContext.RecipeStep};
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("packageId", "Orchard.Module.SuperWiki"));
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("packageId", "Orchard.Module.SuperWiki"));
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("repository", "test"));
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("repository", "test"));
|
|
||||||
|
|
||||||
IFeatureManager featureManager = _container.Resolve<IFeatureManager>();
|
var featureManager = _container.Resolve<IFeatureManager>();
|
||||||
IEnumerable<FeatureDescriptor> enabledFeatures = featureManager.GetEnabledFeatures();
|
var enabledFeatures = featureManager.GetEnabledFeatures();
|
||||||
Assert.That(enabledFeatures.Count(), Is.EqualTo(0));
|
Assert.That(enabledFeatures.Count(), Is.EqualTo(0));
|
||||||
moduleStep.Execute(recipeExecutionContext);
|
moduleStep.Execute(recipeExecutionContext);
|
||||||
|
|
||||||
|
|
||||||
var availableFeatures = featureManager.GetAvailableFeatures().Where(x => x.Id == "SuperWiki").FirstOrDefault();
|
var availableFeatures = featureManager.GetAvailableFeatures().FirstOrDefault(x => x.Id == "SuperWiki");
|
||||||
Assert.That(availableFeatures.Id, Is.EqualTo("SuperWiki"));
|
Assert.That(availableFeatures.Id, Is.EqualTo("SuperWiki"));
|
||||||
Assert.That(recipeContext.Executed, Is.True);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -147,19 +145,17 @@ Features:
|
|||||||
});
|
});
|
||||||
|
|
||||||
var moduleStep = _container.Resolve<ModuleStep>();
|
var moduleStep = _container.Resolve<ModuleStep>();
|
||||||
var recipeContext = new RecipeContext { RecipeStep = new RecipeStep { Name = "Module", Step = new XElement("SuperWiki") } };
|
var recipeExecutionContext = new RecipeExecutionContext { RecipeStep = new RecipeStep { Name = "Module", Step = new XElement("SuperWiki") } };
|
||||||
var recipeExecutionContext = new RecipeExecutionContext { RecipeStep = recipeContext.RecipeStep };
|
|
||||||
|
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("packageId", "Orchard.Module.SuperWiki"));
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("packageId", "Orchard.Module.SuperWiki"));
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("repository", "test"));
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("repository", "test"));
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("version", "1.0.2"));
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("version", "1.0.2"));
|
||||||
|
|
||||||
moduleStep.Execute(recipeExecutionContext);
|
moduleStep.Execute(recipeExecutionContext);
|
||||||
|
|
||||||
var installedPackage = _packageManager.GetInstalledPackages().FirstOrDefault(info => info.ExtensionName == "Orchard.Module.SuperWiki");
|
var installedPackage = _packageManager.GetInstalledPackages().FirstOrDefault(info => info.ExtensionName == "Orchard.Module.SuperWiki");
|
||||||
Assert.That(installedPackage, Is.Not.Null);
|
Assert.That(installedPackage, Is.Not.Null);
|
||||||
Assert.That(installedPackage.ExtensionVersion, Is.EqualTo("1.0.2"));
|
Assert.That(installedPackage.ExtensionVersion, Is.EqualTo("1.0.2"));
|
||||||
Assert.That(recipeContext.Executed, Is.True);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class StubPackagingSourceManager : IPackagingSourceManager {
|
internal class StubPackagingSourceManager : IPackagingSourceManager {
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
using System.Xml.Linq;
|
||||||
|
using Autofac;
|
||||||
|
using NUnit.Framework;
|
||||||
|
using Orchard.Recipes.Models;
|
||||||
|
using Orchard.Recipes.Providers.RecipeHandlers;
|
||||||
|
using Orchard.Recipes.Services;
|
||||||
|
|
||||||
|
namespace Orchard.Tests.Modules.Recipes.RecipeHandlers {
|
||||||
|
[TestFixture]
|
||||||
|
public class RecipeExecutionStepHandlerTest {
|
||||||
|
protected IContainer _container;
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public void Init() {
|
||||||
|
var builder = new ContainerBuilder();
|
||||||
|
builder.RegisterType<StubRecipeExecutionStep>().As<IRecipeExecutionStep>().AsSelf().SingleInstance();
|
||||||
|
builder.RegisterType<RecipeExecutionStepHandler>().SingleInstance();
|
||||||
|
|
||||||
|
_container = builder.Build();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void ExecuteRecipeExecutionStepHandlerTest() {
|
||||||
|
var handlerUnderTest = _container.Resolve<RecipeExecutionStepHandler>();
|
||||||
|
var fakeRecipeStep = _container.Resolve<StubRecipeExecutionStep>();
|
||||||
|
|
||||||
|
var context = new RecipeContext {
|
||||||
|
RecipeStep = new RecipeStep { Name = "FakeRecipeStep", Step = new XElement("FakeRecipeStep")},
|
||||||
|
ExecutionId = "12345"
|
||||||
|
};
|
||||||
|
|
||||||
|
handlerUnderTest.ExecuteRecipeStep(context);
|
||||||
|
|
||||||
|
Assert.That(fakeRecipeStep.IsExecuted, Is.True);
|
||||||
|
Assert.That(context.Executed, Is.True);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class StubRecipeExecutionStep : RecipeExecutionStep {
|
||||||
|
public override string Name {
|
||||||
|
get { return "FakeRecipeStep"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsExecuted { get; set; }
|
||||||
|
|
||||||
|
public override void Execute(RecipeExecutionContext context) {
|
||||||
|
IsExecuted = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,195 +1,189 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
using Autofac;
|
using Autofac;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using Orchard.Caching;
|
using Orchard.Caching;
|
||||||
using Orchard.Core.Settings.Descriptor;
|
using Orchard.Core.Settings.Descriptor;
|
||||||
using Orchard.Core.Settings.Descriptor.Records;
|
using Orchard.Core.Settings.Descriptor.Records;
|
||||||
using Orchard.Core.Settings.State;
|
using Orchard.Core.Settings.State;
|
||||||
using Orchard.Data.Migration;
|
using Orchard.Data.Migration;
|
||||||
using Orchard.Environment.Configuration;
|
using Orchard.Environment.Configuration;
|
||||||
using Orchard.Environment.Descriptor;
|
using Orchard.Environment.Descriptor;
|
||||||
using Orchard.Environment.Descriptor.Models;
|
using Orchard.Environment.Descriptor.Models;
|
||||||
using Orchard.Environment.Extensions;
|
using Orchard.Environment.Extensions;
|
||||||
using Orchard.Environment.Extensions.Folders;
|
using Orchard.Environment.Extensions.Folders;
|
||||||
using Orchard.Environment.Extensions.Models;
|
using Orchard.Environment.Extensions.Models;
|
||||||
using Orchard.Environment.Features;
|
using Orchard.Environment.Features;
|
||||||
using Orchard.Environment.State;
|
using Orchard.Environment.State;
|
||||||
using Orchard.Events;
|
using Orchard.Events;
|
||||||
using Orchard.FileSystems.VirtualPath;
|
using Orchard.FileSystems.VirtualPath;
|
||||||
using Orchard.Packaging.GalleryServer;
|
using Orchard.Packaging.GalleryServer;
|
||||||
using Orchard.Packaging.Services;
|
using Orchard.Packaging.Services;
|
||||||
using Orchard.Recipes.Models;
|
using Orchard.Recipes.Models;
|
||||||
using Orchard.Recipes.Services;
|
using Orchard.Tests.DisplayManagement.Descriptors;
|
||||||
using Orchard.Tests.DisplayManagement.Descriptors;
|
using Orchard.Tests.Environment.Extensions;
|
||||||
using Orchard.Tests.Environment.Extensions;
|
using Orchard.Tests.Environment.Features;
|
||||||
using Orchard.Tests.Environment.Features;
|
using Orchard.Tests.Stubs;
|
||||||
using Orchard.Tests.Stubs;
|
using Orchard.Tests.UI.Navigation;
|
||||||
using Orchard.Tests.UI.Navigation;
|
using Orchard.Themes.Recipes.Executors;
|
||||||
using Orchard.Themes.Recipes.Executors;
|
using Orchard.Themes.Services;
|
||||||
using Orchard.Themes.Services;
|
|
||||||
|
namespace Orchard.Tests.Modules.Recipes.RecipeHandlers {
|
||||||
namespace Orchard.Tests.Modules.Recipes.RecipeHandlers {
|
[TestFixture]
|
||||||
[TestFixture]
|
public class ThemeStepTest : DatabaseEnabledTestsBase {
|
||||||
public class ThemeRecipeHandlerTest : DatabaseEnabledTestsBase {
|
private ExtensionManagerTests.StubFolders _folders;
|
||||||
private ExtensionManagerTests.StubFolders _folders;
|
private ModuleStepTest.StubPackagingSourceManager _packagesInRepository;
|
||||||
private ModuleStepTest.StubPackagingSourceManager _packagesInRepository;
|
private ModuleStepTest.StubPackageManager _packageManager;
|
||||||
private ModuleStepTest.StubPackageManager _packageManager;
|
|
||||||
|
protected override IEnumerable<Type> DatabaseTypes {
|
||||||
protected override IEnumerable<Type> DatabaseTypes {
|
get {
|
||||||
get {
|
return new[] {
|
||||||
return new[] {
|
typeof (ShellDescriptorRecord),
|
||||||
typeof (ShellDescriptorRecord),
|
typeof (ShellFeatureRecord),
|
||||||
typeof (ShellFeatureRecord),
|
typeof (ShellParameterRecord),
|
||||||
typeof (ShellParameterRecord),
|
};
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
public override void Register(ContainerBuilder builder) {
|
||||||
public override void Register(ContainerBuilder builder) {
|
var testVirtualPathProvider = new StylesheetBindingStrategyTests.TestVirtualPathProvider();
|
||||||
var testVirtualPathProvider = new StylesheetBindingStrategyTests.TestVirtualPathProvider();
|
|
||||||
|
builder.RegisterInstance(new ShellSettings { Name = "Default" });
|
||||||
builder.RegisterInstance(new ShellSettings { Name = "Default" });
|
|
||||||
|
_folders = new ExtensionManagerTests.StubFolders();
|
||||||
_folders = new ExtensionManagerTests.StubFolders();
|
_packagesInRepository = new ModuleStepTest.StubPackagingSourceManager();
|
||||||
_packagesInRepository = new ModuleStepTest.StubPackagingSourceManager();
|
_packageManager = new ModuleStepTest.StubPackageManager();
|
||||||
_packageManager = new ModuleStepTest.StubPackageManager();
|
builder.RegisterInstance(_folders).As<IExtensionFolders>();
|
||||||
builder.RegisterInstance(_folders).As<IExtensionFolders>();
|
builder.RegisterType<ExtensionManager>().As<IExtensionManager>();
|
||||||
builder.RegisterType<ExtensionManager>().As<IExtensionManager>();
|
builder.RegisterType<FeatureManager>().As<IFeatureManager>();
|
||||||
builder.RegisterType<FeatureManager>().As<IFeatureManager>();
|
builder.RegisterType<StubCacheManager>().As<ICacheManager>();
|
||||||
builder.RegisterType<StubCacheManager>().As<ICacheManager>();
|
builder.RegisterType<StubParallelCacheContext>().As<IParallelCacheContext>();
|
||||||
builder.RegisterType<StubParallelCacheContext>().As<IParallelCacheContext>();
|
builder.RegisterType<StubAsyncTokenProvider>().As<IAsyncTokenProvider>();
|
||||||
builder.RegisterType<StubAsyncTokenProvider>().As<IAsyncTokenProvider>();
|
builder.RegisterType<ShellDescriptorManager>().As<IShellDescriptorManager>().SingleInstance();
|
||||||
builder.RegisterType<ShellDescriptorManager>().As<IShellDescriptorManager>().SingleInstance();
|
builder.RegisterType<ModuleStepTest.StubDataMigrationManager>().As<IDataMigrationManager>();
|
||||||
builder.RegisterType<ModuleStepTest.StubDataMigrationManager>().As<IDataMigrationManager>();
|
builder.RegisterInstance(_packagesInRepository).As<IPackagingSourceManager>();
|
||||||
builder.RegisterInstance(_packagesInRepository).As<IPackagingSourceManager>();
|
builder.RegisterInstance(_packageManager).As<IPackageManager>();
|
||||||
builder.RegisterInstance(_packageManager).As<IPackageManager>();
|
builder.RegisterType<ShellStateManager>().As<IShellStateManager>().SingleInstance();
|
||||||
builder.RegisterType<ShellStateManager>().As<IShellStateManager>().SingleInstance();
|
builder.RegisterInstance(testVirtualPathProvider).As<IVirtualPathProvider>();
|
||||||
builder.RegisterInstance(testVirtualPathProvider).As<IVirtualPathProvider>();
|
builder.RegisterType<StubEventBus>().As<IEventBus>().SingleInstance();
|
||||||
builder.RegisterType<StubEventBus>().As<IEventBus>().SingleInstance();
|
builder.RegisterType<ThemeService>().As<IThemeService>();
|
||||||
builder.RegisterType<ThemeService>().As<IThemeService>();
|
builder.RegisterType<StubOrchardServices>().As<IOrchardServices>();
|
||||||
builder.RegisterType<StubOrchardServices>().As<IOrchardServices>();
|
builder.RegisterType<StubSiteThemeService>().As<ISiteThemeService>();
|
||||||
builder.RegisterType<StubSiteThemeService>().As<ISiteThemeService>();
|
builder.RegisterType<ThemeStep>();
|
||||||
builder.RegisterType<ThemeStep>();
|
builder.RegisterSource(new EventsRegistrationSource());
|
||||||
builder.RegisterSource(new EventsRegistrationSource());
|
}
|
||||||
}
|
|
||||||
|
[Test]
|
||||||
[Test]
|
public void ExecuteRecipeStepTest() {
|
||||||
public void ExecuteRecipeStepTest() {
|
_folders.Manifests.Add("SuperWiki", @"
|
||||||
_folders.Manifests.Add("SuperWiki", @"
|
Name: SuperWiki
|
||||||
Name: SuperWiki
|
Version: 1.0.3
|
||||||
Version: 1.0.3
|
OrchardVersion: 1
|
||||||
OrchardVersion: 1
|
Features:
|
||||||
Features:
|
SuperWiki:
|
||||||
SuperWiki:
|
Description: My super wiki theme for Orchard.
|
||||||
Description: My super wiki theme for Orchard.
|
");
|
||||||
");
|
_packagesInRepository.AddPublishedPackage(new PublishedPackage {
|
||||||
_packagesInRepository.AddPublishedPackage(new PublishedPackage {
|
Id = "Orchard.Theme.SuperWiki",
|
||||||
Id = "Orchard.Theme.SuperWiki",
|
PackageType = DefaultExtensionTypes.Theme,
|
||||||
PackageType = DefaultExtensionTypes.Theme,
|
Title = "SuperWiki",
|
||||||
Title = "SuperWiki",
|
Version = "1.0.3",
|
||||||
Version = "1.0.3",
|
IsLatestVersion = true,
|
||||||
IsLatestVersion = true,
|
});
|
||||||
});
|
|
||||||
|
IShellDescriptorManager shellDescriptorManager = _container.Resolve<IShellDescriptorManager>();
|
||||||
IShellDescriptorManager shellDescriptorManager = _container.Resolve<IShellDescriptorManager>();
|
// No features enabled.
|
||||||
// No features enabled
|
shellDescriptorManager.UpdateShellDescriptor(0,
|
||||||
shellDescriptorManager.UpdateShellDescriptor(0,
|
Enumerable.Empty<ShellFeature>(),
|
||||||
Enumerable.Empty<ShellFeature>(),
|
Enumerable.Empty<ShellParameter>());
|
||||||
Enumerable.Empty<ShellParameter>());
|
|
||||||
|
var themeStep = _container.Resolve<ThemeStep>();
|
||||||
var themeStep = _container.Resolve<ThemeStep>();
|
var recipeExecutionContext = new RecipeExecutionContext {RecipeStep = new RecipeStep { Name = "Theme", Step = new XElement("SuperWiki") } };
|
||||||
var recipeContext = new RecipeContext { RecipeStep = new RecipeStep { Name = "Theme", Step = new XElement("SuperWiki") } };
|
|
||||||
var recipeExecutionContext = new RecipeExecutionContext {RecipeStep = recipeContext.RecipeStep};
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("packageId", "Orchard.Theme.SuperWiki"));
|
||||||
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("repository", "test"));
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("packageId", "Orchard.Theme.SuperWiki"));
|
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("repository", "test"));
|
var featureManager = _container.Resolve<IFeatureManager>();
|
||||||
|
var enabledFeatures = featureManager.GetEnabledFeatures();
|
||||||
var featureManager = _container.Resolve<IFeatureManager>();
|
Assert.That(enabledFeatures.Count(), Is.EqualTo(0));
|
||||||
var enabledFeatures = featureManager.GetEnabledFeatures();
|
themeStep.Execute(recipeExecutionContext);
|
||||||
Assert.That(enabledFeatures.Count(), Is.EqualTo(0));
|
|
||||||
themeStep.Execute(recipeExecutionContext);
|
// Without setting enable no feature should be activated...
|
||||||
|
featureManager.GetEnabledFeatures();
|
||||||
// without setting enable no feature should be activated...
|
Assert.That(enabledFeatures.Count(), Is.EqualTo(0));
|
||||||
featureManager.GetEnabledFeatures();
|
|
||||||
Assert.That(enabledFeatures.Count(), Is.EqualTo(0));
|
// Adding enable the feature should get active.
|
||||||
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("enable", true));
|
||||||
// Adding enable the feature should get active
|
themeStep.Execute(recipeExecutionContext);
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("enable", true));
|
|
||||||
themeStep.Execute(recipeExecutionContext);
|
enabledFeatures = featureManager.GetEnabledFeatures();
|
||||||
|
Assert.That(enabledFeatures.FirstOrDefault(feature => feature.Id.Equals("SuperWiki")), Is.Not.Null);
|
||||||
enabledFeatures = featureManager.GetEnabledFeatures();
|
Assert.That(enabledFeatures.Count(), Is.EqualTo(1));
|
||||||
Assert.That(enabledFeatures.FirstOrDefault(feature => feature.Id.Equals("SuperWiki")), Is.Not.Null);
|
}
|
||||||
Assert.That(enabledFeatures.Count(), Is.EqualTo(1));
|
|
||||||
Assert.That(recipeContext.Executed, Is.True);
|
[Test]
|
||||||
}
|
public void ExecuteRecipeStepNeedsNameTest() {
|
||||||
|
_folders.Manifests.Add("SuperWiki", @"
|
||||||
[Test]
|
Name: SuperWiki
|
||||||
public void ExecuteRecipeStepNeedsNameTest() {
|
Version: 1.0.3
|
||||||
_folders.Manifests.Add("SuperWiki", @"
|
OrchardVersion: 1
|
||||||
Name: SuperWiki
|
Features:
|
||||||
Version: 1.0.3
|
SuperWiki:
|
||||||
OrchardVersion: 1
|
Description: My super wiki module for Orchard.
|
||||||
Features:
|
");
|
||||||
SuperWiki:
|
|
||||||
Description: My super wiki module for Orchard.
|
var themeStep = _container.Resolve<ThemeStep>();
|
||||||
");
|
var recipeExecutionContext = new RecipeExecutionContext { RecipeStep = new RecipeStep { Name = "Theme", Step = new XElement("SuperWiki") } };
|
||||||
|
|
||||||
var themeStep = _container.Resolve<ThemeStep>();
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("repository", "test"));
|
||||||
var recipeContext = new RecipeContext { RecipeStep = new RecipeStep { Name = "Theme", Step = new XElement("SuperWiki") } };
|
Assert.Throws(typeof (InvalidOperationException), () => themeStep.Execute(recipeExecutionContext));
|
||||||
var recipeExecutionContext = new RecipeExecutionContext { RecipeStep = recipeContext.RecipeStep };
|
}
|
||||||
|
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("repository", "test"));
|
[Test]
|
||||||
Assert.Throws(typeof (InvalidOperationException), () => themeStep.Execute(recipeExecutionContext));
|
public void ExecuteRecipeStepWithRepositoryAndVersionNotLatestTest() {
|
||||||
}
|
_packagesInRepository.AddPublishedPackage(new PublishedPackage {
|
||||||
|
Id = "Orchard.Theme.SuperWiki",
|
||||||
[Test]
|
PackageType = DefaultExtensionTypes.Theme,
|
||||||
public void ExecuteRecipeStepWithRepositoryAndVersionNotLatestTest() {
|
Title = "SuperWiki",
|
||||||
_packagesInRepository.AddPublishedPackage(new PublishedPackage {
|
Version = "1.0.3",
|
||||||
Id = "Orchard.Theme.SuperWiki",
|
IsLatestVersion = true,
|
||||||
PackageType = DefaultExtensionTypes.Theme,
|
});
|
||||||
Title = "SuperWiki",
|
_packagesInRepository.AddPublishedPackage(new PublishedPackage {
|
||||||
Version = "1.0.3",
|
Id = "Orchard.Theme.SuperWiki",
|
||||||
IsLatestVersion = true,
|
PackageType = DefaultExtensionTypes.Theme,
|
||||||
});
|
Title = "SuperWiki",
|
||||||
_packagesInRepository.AddPublishedPackage(new PublishedPackage {
|
Version = "1.0.2",
|
||||||
Id = "Orchard.Theme.SuperWiki",
|
IsLatestVersion = false,
|
||||||
PackageType = DefaultExtensionTypes.Theme,
|
});
|
||||||
Title = "SuperWiki",
|
|
||||||
Version = "1.0.2",
|
var themeStep = _container.Resolve<ThemeStep>();
|
||||||
IsLatestVersion = false,
|
var recipeExecutionContext = new RecipeExecutionContext { RecipeStep = new RecipeStep { Name = "Theme", Step = new XElement("SuperWiki") } };
|
||||||
});
|
|
||||||
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("packageId", "Orchard.Theme.SuperWiki"));
|
||||||
var themeStep = _container.Resolve<ThemeStep>();
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("repository", "test"));
|
||||||
var recipeContext = new RecipeContext { RecipeStep = new RecipeStep { Name = "Theme", Step = new XElement("SuperWiki") } };
|
recipeExecutionContext.RecipeStep.Step.Add(new XAttribute("version", "1.0.2"));
|
||||||
var recipeExecutionContext = new RecipeExecutionContext { RecipeStep = recipeContext.RecipeStep };
|
|
||||||
|
themeStep.Execute(recipeExecutionContext);
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("packageId", "Orchard.Theme.SuperWiki"));
|
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("repository", "test"));
|
var installedPackage = _packageManager.GetInstalledPackages().FirstOrDefault(info => info.ExtensionName == "Orchard.Theme.SuperWiki");
|
||||||
recipeContext.RecipeStep.Step.Add(new XAttribute("version", "1.0.2"));
|
Assert.That(installedPackage, Is.Not.Null);
|
||||||
|
Assert.That(installedPackage.ExtensionVersion, Is.EqualTo("1.0.2"));
|
||||||
themeStep.Execute(recipeExecutionContext);
|
}
|
||||||
|
|
||||||
var installedPackage = _packageManager.GetInstalledPackages().FirstOrDefault(info => info.ExtensionName == "Orchard.Theme.SuperWiki");
|
internal class StubSiteThemeService : ISiteThemeService {
|
||||||
Assert.That(installedPackage, Is.Not.Null);
|
public ExtensionDescriptor GetSiteTheme() {
|
||||||
Assert.That(installedPackage.ExtensionVersion, Is.EqualTo("1.0.2"));
|
throw new NotImplementedException();
|
||||||
Assert.That(recipeContext.Executed, Is.True);
|
}
|
||||||
}
|
|
||||||
|
public void SetSiteTheme(string themeName) {
|
||||||
internal class StubSiteThemeService : ISiteThemeService {
|
throw new NotImplementedException();
|
||||||
public ExtensionDescriptor GetSiteTheme() {
|
}
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
public string GetCurrentThemeName() {
|
||||||
|
throw new NotImplementedException();
|
||||||
public void SetSiteTheme(string themeName) {
|
}
|
||||||
throw new NotImplementedException();
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
public string GetCurrentThemeName() {
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user