port over test changes from spike
porting over BasketWrapper changes
Transaction test finished, it now completes the transaction and tries to use the appkey.

The test is failing as the appkey is not associated with any customer apps (in ValidationController.Post):

    customerApp = context.CustomerAppKeys.Where(x => x.AppKey == appKey)
                            .Select(x => x.CustomerApp)
                            .Include(x => x.LicenseCustomerApps)
                            .FirstOrDefault();

    if (customerApp == null)
    {
        // need to notify, no customerApp
        throw new Exception(string.Format("CustomerApp with appKey={0} has not found", appKey));
    }
fix test to release browser when done
Fixed issue where the CustomerAppKey was not being created.  Now the issue that no domain fetaure license were avaiable:

	var domainLicense = context.DomainLicenses
								.Include(x => x.License.Sku.SkuFeatures.Select(s => s.Feature))
								.FirstOrDefault(x => x.DomainName == domainName
													&& matchedLicenseIds.Contains(x.LicenseId)
													&&
													x.License.Sku.SkuFeatures.Select(
														s => s.Feature.FeatureCode)
														.Contains(featureCode));

	if (domainLicense == null)
	{
		var featureLicense = (from x in context.Licenses where matchedLicenseIds.Contains(x.ObjectId) select x)
			.Include(x => x.Sku.SkuFeatures.Select(s => s.Feature))
			.FirstOrDefault(
				x => x.Sku.SkuFeatures.Select(s => s.Feature.FeatureCode).Any(y => y == featureCode));

		if (featureLicense == null)
		{
			// we do not have license on a feature or we just do not have this one
			// need to notify
			continue;
		}
end-to-end test for license purchase + validation now passes
had to allow licenses without an expiration date to be allowed
update test name