public void ToUiFormat_ProvideCorrectProvisioningFormUrl() { var stringGuid = "B4F93552-53C5-4EF1-BBA6-0AF52C3B785B"; var testId = Guid.Parse(stringGuid); var package = TestHarness.CreatePackageModel(id: testId); package.PackageType = Models.PackageType.Tenant; var uiPackage = PackageExtensions.ToUiFormat(package, "https://example.com/testing", false); Assert.AreEqual( "https://example.com/testing/tenant/home/provision?packageId=B4F93552-53C5-4EF1-BBA6-0AF52C3B785B".ToLower(), uiPackage.ProvisioningFormUrl.ToLower()); package.PackageType = Models.PackageType.Tenant; uiPackage = PackageExtensions.ToUiFormat(package, "https://example.com", false); Assert.AreEqual( "https://example.com/tenant/home/provision?packageId=B4F93552-53C5-4EF1-BBA6-0AF52C3B785B".ToLower(), uiPackage.ProvisioningFormUrl.ToLower()); package.PackageType = Models.PackageType.SiteCollection; uiPackage = PackageExtensions.ToUiFormat(package, "https://example.com/testing", false); Assert.AreEqual( "https://example.com/testing/site/home/provision?packageId=B4F93552-53C5-4EF1-BBA6-0AF52C3B785B".ToLower(), uiPackage.ProvisioningFormUrl.ToLower()); package.PackageType = Models.PackageType.SiteCollection; uiPackage = PackageExtensions.ToUiFormat(package, "https://example.com", false); Assert.AreEqual( "https://example.com/site/home/provision?packageId=B4F93552-53C5-4EF1-BBA6-0AF52C3B785B".ToLower(), uiPackage.ProvisioningFormUrl.ToLower()); }
public void GetAllWithPackages_FiltersOutPreviewProperly() { using (var db = TestHarness.GetPortalContext()) { db.Categories.AddRange( new Models.Category { Id = "TESTONE", DisplayName = "Test one", PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = TestHarness.CreatePackageModel(preview: true, platformIds: new List <string> { TestPlatformId }) }, new Models.PackageCategory { Package = TestHarness.CreatePackageModel(preview: true, platformIds: new List <string> { TestPlatformId }) }, new Models.PackageCategory { Package = TestHarness.CreatePackageModel(platformIds: new List <string> { TestPlatformId }) }, } }, new Models.Category { Id = "TESTTWO", DisplayName = "Test Two", PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = TestHarness.CreatePackageModel(preview: true, platformIds: new List <string> { TestPlatformId }) }, } } ); db.SaveChanges(); } var categories = service.GetAllWithPackages().GetAwaiter().GetResult(); Assert.AreEqual(1, categories.Count(), "should have filtered out category with only preview packages"); Assert.AreEqual(1, categories[0].Packages.Count, "first category should have only non preview packages"); categories = service.GetAllWithPackages(doIncludePreview: true).GetAwaiter().GetResult(); Assert.AreEqual(2, categories.Count(), "should have all categories"); Assert.AreEqual(3, categories[0].Packages.Count, "first category should have the correct number of packages"); Assert.AreEqual(1, categories[1].Packages.Count, "second category should have the correct number of packages"); }
public void GetAllWithPackages_FiltersOutPlatformProperly() { var packageId = Guid.NewGuid(); using (var db = TestHarness.GetPortalContext()) { db.Platforms.Add(new Models.Platform { Id = "PLATFORMTWO" }); db.Categories.AddRange( new Models.Category { Id = "TESTONE", DisplayName = "Test one", PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = TestHarness.CreatePackageModel() }, new Models.PackageCategory { Package = TestHarness.CreatePackageModel(platformIds: new List <string> { "PLATFORMTWO" }) }, new Models.PackageCategory { Package = TestHarness.CreatePackageModel(platformIds: new List <string> { TestPlatformId }, id: packageId) }, } }, new Models.Category { Id = "TESTTWO", DisplayName = "Test Two", PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = TestHarness.CreatePackageModel(platformIds: new List <string> { "PLATFORMTWO" }) }, } } ); db.SaveChanges(); } var categories = service.GetAllWithPackages().GetAwaiter().GetResult(); Assert.AreEqual(1, categories.Count(), "should have filtered out category with no packages for the platform"); Assert.AreEqual(1, categories[0].Packages.Count, "first category should have only packages for the platform"); Assert.AreEqual(packageId, categories[0].Packages[0].Id); }
public void GetAllWithPackages_SortsProperly() { using (var db = TestHarness.GetPortalContext()) { db.Categories.AddRange( new Models.Category { Id = "TESTONE", DisplayName = "Test One", Order = 2, PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = TestHarness.CreatePackageModel(platformIds: new List <string> { TestPlatformId }) } } }, new Models.Category { Id = "TESTTWO", DisplayName = "Test Two", Order = 0, PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = TestHarness.CreatePackageModel(platformIds: new List <string> { TestPlatformId }) } } }, new Models.Category { Id = "TESTTHREE", DisplayName = "Test Three", Order = 1, PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = TestHarness.CreatePackageModel(platformIds: new List <string> { TestPlatformId }) } } } ); db.SaveChanges(); } var categories = service.GetAllWithPackages().GetAwaiter().GetResult(); Assert.AreEqual("TESTTWO", categories.ElementAt(0).Id); Assert.AreEqual("TESTTHREE", categories.ElementAt(1).Id); Assert.AreEqual("TESTONE", categories.ElementAt(2).Id); }
public void GetFromQuery_FiltersByCategoryProperly() { var packageId1 = Guid.NewGuid(); var packageId2 = Guid.NewGuid(); using (var db = TestHarness.GetPortalContext()) { var package1 = db.Packages.Add(TestHarness.CreatePackageModel(id: packageId1, platformIds: new List <string> { TestPlatformId })); var package2 = db.Packages.Add(TestHarness.CreatePackageModel(id: packageId2, platformIds: new List <string> { TestPlatformId })); db.Categories.AddRange( new Models.Category { Id = "TESTONE", DisplayName = "Test One", PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = package1.Entity }, new Models.PackageCategory { Package = package2.Entity }, } }, new Models.Category { Id = "TESTTWO", DisplayName = "Test Two", PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = package1.Entity }, } } ); db.SaveChanges(); } var packages = service.GetFromQuery(categoryId: "TESTONE").GetAwaiter().GetResult(); Assert.AreEqual(2, packages.Count()); Assert.IsTrue(packages.Any(p => p.Id == packageId1), "should contain the first package"); Assert.IsTrue(packages.Any(p => p.Id == packageId2), "should contain the second package"); packages = service.GetFromQuery(categoryId: "TESTTWO").GetAwaiter().GetResult(); Assert.AreEqual(1, packages.Count()); Assert.IsTrue(packages.Any(p => p.Id == packageId1), "should contain the first package"); }
public void GetAllWithPackages_FiltersOutVisibleProperly() { using (var db = TestHarness.GetPortalContext()) { db.Categories.AddRange( new Models.Category { Id = "TESTONE", DisplayName = "Test one", PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = TestHarness.CreatePackageModel(isVisible: false, platformIds: new List <string> { TestPlatformId }) }, new Models.PackageCategory { Package = TestHarness.CreatePackageModel(isVisible: false, platformIds: new List <string> { TestPlatformId }) }, new Models.PackageCategory { Package = TestHarness.CreatePackageModel(platformIds: new List <string> { TestPlatformId }) }, } }, new Models.Category { Id = "TESTTWO", DisplayName = "Test Two", PackageCategories = new List <Models.PackageCategory> { new Models.PackageCategory { Package = TestHarness.CreatePackageModel(isVisible: false, platformIds: new List <string> { TestPlatformId }) }, } } ); db.SaveChanges(); } var categories = service.GetAllWithPackages().GetAwaiter().GetResult(); Assert.AreEqual(1, categories.Count(), "should have filtered out category with no visible packages"); Assert.AreEqual(1, categories[0].Packages.Count, "first category should have only visble packages"); }
public void GetById_GetsById() { var id = Guid.NewGuid(); var metaData = new Models.UI.MetaData { DisplayInfo = new Models.UI.DisplayInfo { PageTemplateId = "my-template-id", SystemRequirements = new List <Models.UI.SystemRequirement> { new Models.UI.SystemRequirement { Name = "TestRequirement", Value = "TestValue" } } } }; using (var db = TestHarness.GetPortalContext()) { db.Packages.AddRange( TestHarness.CreatePackageModel(id: id, metaData: metaData, platformIds: new List <string> { TestPlatformId }), TestHarness.CreatePackageModel(platformIds: new List <string> { TestPlatformId }) ); db.SaveChanges(); } var package = service.GetById(id).GetAwaiter().GetResult(); Assert.IsNotNull(package); Assert.AreEqual(id, package.Id); Assert.IsNotNull(package.DisplayInfo); Assert.AreEqual(metaData.DisplayInfo.PageTemplateId, package.DisplayInfo.PageTemplateId); Assert.AreEqual(1, package.DisplayInfo.SystemRequirements.Count); Assert.AreEqual("TestRequirement", package.DisplayInfo.SystemRequirements[0].Name); Assert.AreEqual("TestValue", package.DisplayInfo.SystemRequirements[0].Value); }
public void GetFromQuery_FiltersOutPlatformProperly() { var packageId1 = Guid.NewGuid(); var packageId2 = Guid.NewGuid(); using (var db = TestHarness.GetPortalContext()) { var package1 = db.Packages.Add(TestHarness.CreatePackageModel(id: packageId1, platformIds: new List <string> { TestPlatformId })); var package2 = db.Packages.Add(TestHarness.CreatePackageModel(id: packageId2, platformIds: new List <string> { TestPlatformId })); var package3 = db.Packages.Add(TestHarness.CreatePackageModel(id: Guid.NewGuid())); db.Platforms.Add( new Models.Platform { Id = "PLATFORMTWO", PackagePlatforms = new List <Models.PackagePlatform> { new Models.PackagePlatform { Package = package1.Entity }, new Models.PackagePlatform { Package = package2.Entity }, new Models.PackagePlatform { Package = package3.Entity }, } } ); db.SaveChanges(); } var packages = service.GetFromQuery().GetAwaiter().GetResult(); Assert.AreEqual(2, packages.Count()); Assert.IsTrue(packages.Any(p => p.Id == packageId1), "should contain the first package"); Assert.IsTrue(packages.Any(p => p.Id == packageId2), "should contain the second package"); }
public void GetById_FiltersOutPlatformProperly() { var id = Guid.NewGuid(); var idNotInPlatform = Guid.NewGuid(); using (var db = TestHarness.GetPortalContext()) { db.Packages.AddRange( TestHarness.CreatePackageModel(id: id, platformIds: new List <string> { TestPlatformId }), TestHarness.CreatePackageModel(id: idNotInPlatform) ); db.SaveChanges(); } var package = service.GetById(id).GetAwaiter().GetResult(); Assert.IsNotNull(package, "should find package in the platform"); package = service.GetById(idNotInPlatform).GetAwaiter().GetResult(); Assert.IsNull(package, "should not find package that is not in the platform"); }
public void GetById_FiltersOutPreviewProperly() { var id = Guid.NewGuid(); using (var db = TestHarness.GetPortalContext()) { db.Packages.AddRange( TestHarness.CreatePackageModel(id: id, preview: true, platformIds: new List <string> { TestPlatformId }), TestHarness.CreatePackageModel(platformIds: new List <string> { TestPlatformId }) ); db.SaveChanges(); } var package = service.GetById(id).GetAwaiter().GetResult(); Assert.IsNull(package, "should filter out preview package when not including preview"); package = service.GetById(id, doIncludePreview: true).GetAwaiter().GetResult(); Assert.IsNotNull(package, "should find package when including preview"); }
public void GetFromQuery_FiltersOutPreviewProperly() { var metaData = new Models.UI.MetaData { DisplayInfo = new Models.UI.DisplayInfo { PageTemplateId = "my-template-id", SystemRequirements = new List <Models.UI.SystemRequirement> { new Models.UI.SystemRequirement { Name = "TestRequirement", Value = "TestValue" } } } }; using (var db = TestHarness.GetPortalContext()) { db.Packages.AddRange( TestHarness.CreatePackageModel(preview: true, platformIds: new List <string> { TestPlatformId }), TestHarness.CreatePackageModel(platformIds: new List <string> { TestPlatformId }) ); db.SaveChanges(); } var packages = service.GetFromQuery().GetAwaiter().GetResult(); Assert.AreEqual(1, packages.Count()); packages = service.GetFromQuery(doIncludePreview: true).GetAwaiter().GetResult(); Assert.AreEqual(2, packages.Count()); }