Всем привет!
Создаю 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'));
}
}