public EditLinkHelper(string projectId) { var linkBuilderoptions = new ManagementHelpersOptions() { ProjectId = projectId }; Builder = new EditLinkBuilder(linkBuilderoptions); }
public void EditLinkBuilder_ProjectIdBadFormat_ThrowsException() { var badFormatProjectIdOptions = new ManagementHelpersOptions { ProjectId = "aa-bb-cc" }; Assert.Throws <ArgumentException>(() => new EditLinkBuilder(badFormatProjectIdOptions)); }
public void EditLinkBuilder_MissingProjectId_ThrowsException() { var noProjectIdOptions = new ManagementHelpersOptions { ProjectId = string.Empty }; Assert.Throws <ArgumentException>(() => new EditLinkBuilder(noProjectIdOptions)); }
public void EditLinkBuilder_MissingEditAppEndpoint_ThrowsException() { var noEditAppEndpointOptions = new ManagementHelpersOptions { AdminUrl = string.Empty }; Assert.Throws <ArgumentException>(() => new EditLinkBuilder(noEditAppEndpointOptions)); }
private EditLinkHelper(IConfiguration configuration) { this.configuration = configuration; var projectId = configuration.GetSection(nameof(DeliveryOptions))[nameof(DeliveryOptions.ProjectId)].ToString() ?? configuration.GetSection(nameof(AppConfiguration)).Get <AppConfiguration>().DefaultProjectId.ToString(); var linkBuilderOptions = new ManagementHelpersOptions() { ProjectId = projectId }; Builder = new EditLinkBuilder(linkBuilderOptions); }
public void BuildEditItemUrl_AdminUrlOtherThanDefault_ReturnsCorrectUrl() { var options = new ManagementHelpersOptions { AdminUrl = "https://someOther.url/{0}", ProjectId = "34998683-4dd6-441c-b4cb-57493cafcaf0", }; var underTest = new EditLinkBuilder(options); var result = underTest.BuildEditItemUrl(_language, _itemId); var expected = "https://someOther.url/goto/edit-item/project/34998683-4dd6-441c-b4cb-57493cafcaf0/variant-codename/some-Language-Codename/item/1cdaa8ef-cb2b-4f82-82e9-45467b2e01b9"; Assert.Equal(expected, result); }
/// <summary> /// Initializes a new instance of the <see cref="EditLinkBuilder"/> class for retrieving edit urls. /// </summary> /// <param name="managementHelpersOptions">The settings of the Kontent project.</param> public EditLinkBuilder(ManagementHelpersOptions managementHelpersOptions) { if (string.IsNullOrEmpty(managementHelpersOptions.AdminUrl)) { throw new ArgumentException("Kontent Edit App endpoint is not specified.", nameof(managementHelpersOptions.AdminUrl)); } if (string.IsNullOrEmpty(managementHelpersOptions.ProjectId)) { throw new ArgumentException("Kontent project identifier is not specified.", nameof(managementHelpersOptions.ProjectId)); } if (!Guid.TryParse(managementHelpersOptions.ProjectId, out _)) { throw new ArgumentException($"Provided string is not a valid project identifier ({managementHelpersOptions.ProjectId}).", nameof(managementHelpersOptions.ProjectId)); } ManagementHelpersOptions = managementHelpersOptions; }