public ShippingOptionOverviewStepViewModel(
			IRepositoryFactory<IShippingRepository> repositoryFactory,
			IOrderEntityFactory entityFactory,
			ShippingOption item)
			: base(null, repositoryFactory, entityFactory, null, item)
		{
		}
		public ShippingOptionPackagesStepViewModel(
			IViewModelsFactory<IShippingOptionAddShippingPackageViewModel> addPackageVmFactory,
			IRepositoryFactory<IShippingRepository> repositoryFactory,
			IOrderEntityFactory entityFactory,
			ShippingOption item,
			ICatalogRepository catalogRepository)
			: base(addPackageVmFactory, repositoryFactory, entityFactory, catalogRepository, item)
		{
		}
		public CreateShippingOptionViewModel(
			IViewModelsFactory<IShippingOptionOverviewStepViewModel> overviewVmFactory,
			IViewModelsFactory<IShippingOptionPackagesStepViewModel> packagesVmFactory,
			ShippingOption item)
		{
			var itemParameter = new KeyValuePair<string, object>("item", item);
			RegisterStep(overviewVmFactory.GetViewModelInstance(itemParameter));
			RegisterStep(packagesVmFactory.GetViewModelInstance(itemParameter));
		}
		public void Can_run_activity_processshipment()
		{
			var orderGroup = CreateCart();
			orderGroup.OrderForms[0].Shipments[0].ShippingMethodId = "FlatRate";

			var gateway0 = new ShippingGateway
						{
							ClassType = "VirtoCommerce.Shipping.SimpleShippingGateway, VirtoCommerce.SimpleShippingGateway",
							Name = "SimpleShippingGateway"
						};
			var option = new ShippingOption { Name = "default", Description = "Default", ShippingGateway = gateway0 };
			var option2 = new ShippingOption { Name = "default2", Description = "Default2", ShippingGateway = gateway0 };
			var shippingMethods = new List<ShippingMethod>
				{
					new ShippingMethod
						{
							ShippingMethodId = "FreeShipping",
							Name = "FreeShipping",
							DisplayName = "Free Shipping",
							Description = "Free Shipping",
							Currency = "USD",
							BasePrice = 0,
							IsActive = true,
							ShippingOption = option
						},
					new ShippingMethod
						{
							ShippingMethodId = "FlatRate",
							Name = "FlatRate",
							DisplayName = "Flat Rate",
							Description = "Flat Rate",
							Currency = "USD",
							BasePrice = 10,
							IsActive = true,
							ShippingOption = option2
						}
				};
			option.ShippingMethods.Add(shippingMethods[0]);
			option2.ShippingMethods.Add(shippingMethods[1]);

			var repository = new Mock<IShippingRepository>();
			repository.Setup(x => x.ShippingOptions).Returns(() => new[] { option, option2 }.AsQueryable());
			// initializing UnityContainer
			var initializedLocator = Locator;
			// mocking the IShippingRepository into UnityContainer as SimpleShippingGateway resolves it.
			_container.RegisterInstance(repository.Object);

			var activity = new ProcessShipmentActivity();
			var result = InvokeActivity(activity, orderGroup);
			var order = result.OrderGroup;

			foreach (var shipment in order.OrderForms[0].Shipments)
			{
				Assert.True(shipment.ShippingCost == 10m);
			}
		}