AURORA-1901: Смета РФ — итоги групп и IV кв. на свои места #258
@ -141,6 +141,26 @@ export const config = {
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
header: "Итого: Поддержка",
|
||||
accessorKey:
|
||||
"field_raskhody_planiruemye_rf_na_2026_god_itogopodderzhka",
|
||||
columns: [
|
||||
{
|
||||
header: "",
|
||||
accessorKey: "data.plan.support.year",
|
||||
columnLetter: "H",
|
||||
size: 150,
|
||||
filterFn: "contains",
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
backgroundColor: "#FFFFFF",
|
||||
color: "#000000",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
@ -233,6 +253,26 @@ export const config = {
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
header: "Итого: Поддержка",
|
||||
accessorKey:
|
||||
"field_utverzhdennye_bazovye_raskhody_na_2026_god_itogopodderzhka",
|
||||
columns: [
|
||||
{
|
||||
header: "",
|
||||
accessorKey: "data.approved.support.year",
|
||||
columnLetter: "N",
|
||||
size: 150,
|
||||
filterFn: "contains",
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
backgroundColor: "#FFFFFF",
|
||||
color: "#000000",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
@ -325,6 +365,26 @@ export const config = {
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
header: "Итого: Поддержка",
|
||||
accessorKey:
|
||||
"field_fakticheskie_raskhody_za_2026_god_itogopodderzhka",
|
||||
columns: [
|
||||
{
|
||||
header: "",
|
||||
accessorKey: "data.fact.support.year",
|
||||
columnLetter: "T",
|
||||
size: 150,
|
||||
filterFn: "contains",
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
backgroundColor: "#FFFFFF",
|
||||
color: "#000000",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
@ -377,114 +437,10 @@ export const config = {
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
backgroundColor: "#FFFFFF",
|
||||
color: "#000000",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
backgroundColor: "#FFFFFF",
|
||||
color: "#000000",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
header: "В тыс. рублей",
|
||||
accessorKey: "v_tys_rubley",
|
||||
columns: [
|
||||
{
|
||||
header: "Расходы, планируемые РФ на {year} год",
|
||||
accessorKey: "v_tys_rubley_raskhody_planiruemye_rf_na_2026_god",
|
||||
columns: [
|
||||
{
|
||||
header: "Итого: Поддержка",
|
||||
accessorKey:
|
||||
"v_tys_rubley_raskhody_planiruemye_rf_na_2026_god_itogopodderzhka",
|
||||
columns: [
|
||||
{
|
||||
header: "",
|
||||
accessorKey: "data.plan.support.year",
|
||||
columnLetter: "H",
|
||||
size: 150,
|
||||
filterFn: "contains",
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
backgroundColor: "#FFFFFF",
|
||||
color: "#000000",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
header: "Утверждённые базовые расходы на {year} год",
|
||||
accessorKey:
|
||||
"v_tys_rubley_utverzhdennye_bazovye_raskhody_na_2026_god",
|
||||
columns: [
|
||||
{
|
||||
header: "Итого: Поддержка",
|
||||
accessorKey:
|
||||
"v_tys_rubley_utverzhdennye_bazovye_raskhody_na_2026_god_itogopodderzhka",
|
||||
columns: [
|
||||
{
|
||||
header: "",
|
||||
accessorKey: "data.approved.support.year",
|
||||
columnLetter: "N",
|
||||
size: 150,
|
||||
filterFn: "contains",
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
backgroundColor: "#FFFFFF",
|
||||
color: "#000000",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
header: "Фактические расходы за {year} год",
|
||||
accessorKey: "v_tys_rubley_fakticheskie_raskhody_za_2026_god",
|
||||
columns: [
|
||||
{
|
||||
header: "Итого: Поддержка",
|
||||
accessorKey:
|
||||
"v_tys_rubley_fakticheskie_raskhody_za_2026_god_itogopodderzhka",
|
||||
columns: [
|
||||
{
|
||||
header: "",
|
||||
accessorKey: "data.fact.support.year",
|
||||
columnLetter: "T",
|
||||
size: 150,
|
||||
filterFn: "contains",
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
backgroundColor: "#FFFFFF",
|
||||
color: "#000000",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
header: "Скорректированная смета расходов на {year} год",
|
||||
accessorKey:
|
||||
"v_tys_rubley_skorrektirovannaya_smeta_raskhodov_na_2026_god",
|
||||
columns: [
|
||||
{
|
||||
header: "IV квартал",
|
||||
accessorKey:
|
||||
"v_tys_rubley_skorrektirovannaya_smeta_raskhodov_na_2026_god_iv_kvartal",
|
||||
"field_skorrektirovannaya_smeta_raskhodov_na_2026_god_iv_kvartal",
|
||||
columns: [
|
||||
{
|
||||
header: "",
|
||||
@ -502,6 +458,12 @@ export const config = {
|
||||
},
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
sx: {
|
||||
backgroundColor: "#FFFFFF",
|
||||
color: "#000000",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
muiTableHeadCellProps: {
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import { readFileSync } from 'node:fs';
|
||||
import test from 'node:test';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
// FORM_2/SMETA.js импортирует '../columnColors' без расширения, поэтому node
|
||||
// не может загрузить модуль напрямую — читаем файл как текст.
|
||||
const configPath = fileURLToPath(new URL('../constants/FORM_2/SMETA.js', import.meta.url));
|
||||
const configSource = readFileSync(configPath, 'utf8');
|
||||
|
||||
const EXPECTED_LEAF_ORDER = [
|
||||
'data.section_code',
|
||||
'data.name',
|
||||
'data.plan.support.q1',
|
||||
'data.plan.support.q2',
|
||||
'data.plan.support.q3',
|
||||
'data.plan.support.q4',
|
||||
'data.plan.support.year',
|
||||
'data.approved.support.q1',
|
||||
'data.approved.support.q2',
|
||||
'data.approved.support.q3',
|
||||
'data.approved.support.q4',
|
||||
'data.approved.support.year',
|
||||
'data.fact.support.q1',
|
||||
'data.fact.support.q2',
|
||||
'data.fact.support.q3',
|
||||
'data.fact.support.q4',
|
||||
'data.fact.support.year',
|
||||
'data.corrected.support.q2',
|
||||
'data.corrected.support.q3',
|
||||
'data.corrected.support.q4',
|
||||
];
|
||||
|
||||
function extractLeafAccessorKeys(source) {
|
||||
const matches = source.matchAll(/accessorKey:\s*"(data\.[^"]+)"/g);
|
||||
return [...matches].map((m) => m[1]);
|
||||
}
|
||||
|
||||
test('Смета РФ: итоги групп и IV квартал скорректированной сметы идут в конце своих групп', () => {
|
||||
assert.deepEqual(extractLeafAccessorKeys(configSource), EXPECTED_LEAF_ORDER);
|
||||
});
|
||||
|
||||
test('Смета РФ: группы "В тыс. рублей" больше нет', () => {
|
||||
assert.ok(!configSource.includes('В тыс. рублей'), 'заголовок "В тыс. рублей" не должен встречаться в конфиге');
|
||||
});
|
||||
Loading…
x
Reference in New Issue
Block a user