Всем привет!
Создаю package с простым Apex-классом, который получает данные о статье (Lighting Knowledge). При установке package через ссылку на другую Salesforce-орг возникает ошибка:
The name "Knowledge__kav" is already used on component type: Article Type. Please rename existing component.
Орг совершенно дефольная, никаких record types специально создано не было.
Я полагал, что Knowledge__kav — это дефолтный record type для статей, и его можно использовать в тестах. Сталкивался ли кто-то с подобной проблемой? Как можно ее решить?
public with sharing class ContentController {
@AuraEnabled(cacheable=true)
public static KnowledgeArticleVersion getArticleById(Id id) {
return [
SELECT Title, ArticleCreatedDate
FROM KnowledgeArticleVersion
WHERE Id = :id
AND PublishStatus = 'Online'
];
}
}
@IsTest
private class ContentControllerTest {
@IsTest static void validateGetArticleById() {
String articleTitle = 'Test Article';
String articleBody = 'Test Body';
String articleUrlName = 'test';
String language = 'en_US';Knowledge__kav article = new Knowledge__kav(
Title = articleTitle,
Summary = articleBody,
UrlName = articleUrlName,
Language = language
);insert article;
Knowledge__kav currentArticleDetail = [
SELECT ArticleCreatedDate, ArticleNumber
FROM Knowledge__kav
WHERE Id = :article.Id
];KnowledgeArticle knowledgeArticle = [
SELECT Id
FROM KnowledgeArticle
WHERE ArticleNumber = :currentArticleDetail.get('ArticleNumber').toString()
];KbManagement.PublishingService.publishArticle(knowledgeArticle.Id, true);
sObject articleDetail = ContentController.getArticleById(article.Id);
System.assertEquals(articleTitle, articleDetail.get('Title'));
}
}
Всем привет! Создаю package с простым Apex-классом, который получает данные о статье (Lighting Knowledge). При установке package через ссылку на другую Salesforce-орг возникает ошибка: The name "Knowledge__kav" is already used on component type: Article Type. Please rename existing component. Орг совершенно дефольная, никаких record types специально создано не было. Я полагал, что Knowledge__kav — это дефолтный record type для статей, и его можно использовать в тестах. Сталкивался ли кто-то с подобной проблемой? Как можно ее решить? [code] public with sharing class ContentController { @AuraEnabled(cacheable=true) public static KnowledgeArticleVersion getArticleById(Id id) { return [ SELECT Title, ArticleCreatedDate FROM KnowledgeArticleVersion WHERE Id = :id AND PublishStatus = 'Online' ]; } } [/code] [code] @IsTest private class ContentControllerTest { @IsTest static void validateGetArticleById() { String articleTitle = 'Test Article'; String articleBody = 'Test Body'; String articleUrlName = 'test'; String language = 'en_US'; Knowledge__kav article = new Knowledge__kav( Title = articleTitle, Summary = articleBody, UrlName = articleUrlName, Language = language ); insert article; Knowledge__kav currentArticleDetail = [ SELECT ArticleCreatedDate, ArticleNumber FROM Knowledge__kav WHERE Id = :article.Id ]; KnowledgeArticle knowledgeArticle = [ SELECT Id FROM KnowledgeArticle WHERE ArticleNumber = :currentArticleDetail.get('ArticleNumber').toString() ]; KbManagement.PublishingService.publishArticle(knowledgeArticle.Id, true); sObject articleDetail = ContentController.getArticleById(article.Id); System.assertEquals(articleTitle, articleDetail.get('Title')); } } [/code]