Alerting: Fix AlertsFolderView not showing rules when using nested folders (#84465)

* Fix AlertsFolderView not showing rules when using nested folders

* Fix tests
This commit is contained in:
Sonia Aguilar
2024-03-15 14:08:09 +01:00
committed by GitHub
parent d06e73ac28
commit fa9f692707
2 changed files with 8 additions and 3 deletions
@@ -42,13 +42,14 @@ const mockFolder = (folderOverride: Partial<FolderState> = {}): FolderState => {
};
describe('AlertsFolderView tests', () => {
it('Should display grafana alert rules when the namespace name matches the folder name', () => {
it('Should display grafana alert rules when the folder uid matches the name space uid', () => {
// Arrange
const folder = mockFolder();
const grafanaNamespace: CombinedRuleNamespace = {
name: folder.title,
rulesSource: GRAFANA_RULES_SOURCE_NAME,
uid: 'folder-1',
groups: [
{
name: 'group1',
@@ -91,13 +92,14 @@ describe('AlertsFolderView tests', () => {
expect(alertRows[5]).toHaveTextContent('Test Alert 6');
});
it('Should not display alert rules when the namespace name does not match the folder name', () => {
it('Should not display alert rules when the namespace uid does not match the folder uid', () => {
// Arrange
const folder = mockFolder();
const grafanaNamespace: CombinedRuleNamespace = {
name: 'Folder without alerts',
rulesSource: GRAFANA_RULES_SOURCE_NAME,
uid: 'folder-2',
groups: [
{
name: 'default',
@@ -130,6 +132,7 @@ describe('AlertsFolderView tests', () => {
const grafanaNamespace: CombinedRuleNamespace = {
name: folder.title,
rulesSource: GRAFANA_RULES_SOURCE_NAME,
uid: 'folder-1',
groups: [
{
name: 'default',
@@ -162,6 +165,7 @@ describe('AlertsFolderView tests', () => {
const grafanaNamespace: CombinedRuleNamespace = {
name: folder.title,
rulesSource: GRAFANA_RULES_SOURCE_NAME,
uid: 'folder-1',
groups: [
{
name: 'default',
@@ -50,7 +50,8 @@ export const AlertsFolderView = ({ folder }: Props) => {
const { nameFilter, labelFilter, sortOrder, setNameFilter, setLabelFilter, setSortOrder } =
useAlertsFolderViewParams();
const matchingNamespace = combinedNamespaces.find((namespace) => namespace.name === folder.title);
const matchingNamespace = combinedNamespaces.find((namespace) => namespace.uid === folder.uid);
const alertRules = matchingNamespace?.groups.flatMap((group) => group.rules) ?? [];
const filteredRules = filterAndSortRules(alertRules, nameFilter, labelFilter, sortOrder ?? SortOrder.Ascending);