Sort index views by id

This commit is contained in:
josedario87
2025-06-10 00:21:39 -06:00
parent 21274ba1e0
commit 939922cae4
8 changed files with 36 additions and 17 deletions

View File

@@ -86,7 +86,10 @@ const errorMessage = ref('');
// Initialize currentView from the store's default setting for asistencias
const currentView = ref(ui.defaultViewAsistencias);
const asistenciasList = computed(() => asistenciasStore.asistencias);
// Show asistencias ordered by id descending
const asistenciasList = computed(() =>
[...(asistenciasStore.asistencias || [])].sort((a, b) => b.id - a.id)
);
onMounted(async () => {
try {

View File

@@ -85,7 +85,8 @@ describe('AsistenciasIndex.vue', () => {
expect(wrapper.findComponent({ name: 'TablaAsistencias' }).exists()).toBe(true)
expect(wrapper.findComponent({ name: 'TablaAsistencias' }).props('asistencias')).toEqual(asistenciasStoreMock.asistencias)
const expected = [...asistenciasStoreMock.asistencias].sort((a, b) => b.id - a.id)
expect(wrapper.findComponent({ name: 'TablaAsistencias' }).props('asistencias')).toEqual(expected)
expect(wrapper.findComponent({ name: 'CardAsistencia' }).exists()).toBe(false)
})
@@ -99,8 +100,9 @@ describe('AsistenciasIndex.vue', () => {
await wrapper.vm.$nextTick()
const cardWrappers = wrapper.findAllComponents({ name: 'CardAsistencia' })
expect(cardWrappers.length).toBe(asistenciasStoreMock.asistencias.length)
expect(cardWrappers[0].props('asistencia')).toEqual(asistenciasStoreMock.asistencias[0])
const expected = [...asistenciasStoreMock.asistencias].sort((a, b) => b.id - a.id)
expect(cardWrappers.length).toBe(expected.length)
expect(cardWrappers[0].props('asistencia')).toEqual(expected[0])
expect(wrapper.findComponent({ name: 'TablaAsistencias' }).exists()).toBe(false)
})

View File

@@ -87,7 +87,10 @@ const empleadosStore = useEmpleadosStore();
const { empleados } = storeToRefs(empleadosStore);
// alias para plantilla
const employees = empleados;
// Sort employees by id descending for display
const employees = computed(() =>
[...(empleados?.value || [])].sort((a, b) => b.id - a.id)
);
// --- helpers ---
// Removed btnClass as manual toggle buttons are removed

View File

@@ -91,7 +91,8 @@ describe('EmpleadosIndex.vue', () => {
await wrapper.vm.$nextTick() // Wait for any reactivity updates
expect(wrapper.findComponent({ name: 'TablaEmpleados' }).exists()).toBe(true)
expect(wrapper.findComponent({ name: 'TablaEmpleados' }).props('employees')).toEqual(empleadosStoreMock.empleados)
const expected = [...empleadosStoreMock.empleados].sort((a, b) => b.id - a.id)
expect(wrapper.findComponent({ name: 'TablaEmpleados' }).props('employees')).toEqual(expected)
expect(wrapper.findComponent({ name: 'CardEmpleado' }).exists()).toBe(false)
})
@@ -103,8 +104,9 @@ describe('EmpleadosIndex.vue', () => {
await wrapper.vm.$nextTick()
const cardWrappers = wrapper.findAllComponents({ name: 'CardEmpleado' })
expect(cardWrappers.length).toBe(empleadosStoreMock.empleados.length)
expect(cardWrappers[0].props('employee')).toEqual(empleadosStoreMock.empleados[0])
const expected = [...empleadosStoreMock.empleados].sort((a, b) => b.id - a.id)
expect(cardWrappers.length).toBe(expected.length)
expect(cardWrappers[0].props('employee')).toEqual(expected[0])
expect(wrapper.findComponent({ name: 'TablaEmpleados' }).exists()).toBe(false)
})

View File

@@ -86,8 +86,10 @@ const errorMessage = ref('');
// Initialize currentView from the store's default setting for planillas
const currentView = ref(ui.defaultViewPlanillas);
// Computed property to get planillas from the store
const planillasList = computed(() => planillasStore.planillas);
// Computed property sorted by id descending
const planillasList = computed(() =>
[...(planillasStore.planillas || [])].sort((a, b) => b.id - a.id)
);
// Fetch planillas when the component is mounted
onMounted(async () => {

View File

@@ -80,7 +80,8 @@ describe('PlanillasIndex.vue', () => {
await wrapper.vm.$nextTick() // Additional tick if loading state causes multiple updates
expect(wrapper.findComponent({ name: 'TablaPlanillas' }).exists()).toBe(true)
expect(wrapper.findComponent({ name: 'TablaPlanillas' }).props('planillas')).toEqual(planillasStoreMock.planillas)
const expected = [...planillasStoreMock.planillas].sort((a, b) => b.id - a.id)
expect(wrapper.findComponent({ name: 'TablaPlanillas' }).props('planillas')).toEqual(expected)
expect(wrapper.findComponent({ name: 'CardPlanilla' }).exists()).toBe(false)
})
@@ -94,8 +95,9 @@ describe('PlanillasIndex.vue', () => {
await wrapper.vm.$nextTick()
const cardWrappers = wrapper.findAllComponents({ name: 'CardPlanilla' })
expect(cardWrappers.length).toBe(planillasStoreMock.planillas.length)
expect(cardWrappers[0].props('planilla')).toEqual(planillasStoreMock.planillas[0])
const expected = [...planillasStoreMock.planillas].sort((a, b) => b.id - a.id)
expect(cardWrappers.length).toBe(expected.length)
expect(cardWrappers[0].props('planilla')).toEqual(expected[0])
expect(wrapper.findComponent({ name: 'TablaPlanillas' }).exists()).toBe(false)
})

View File

@@ -86,7 +86,10 @@ const errorMessage = ref('');
// Initialize currentView from the store's default setting for tareas
const currentView = ref(ui.defaultViewTareas);
const tareasList = computed(() => tareasStore.tareas);
// Display tareas sorted by id descending
const tareasList = computed(() =>
[...(tareasStore.tareas || [])].sort((a, b) => b.id - a.id)
);
onMounted(async () => {
try {

View File

@@ -80,7 +80,8 @@ describe('TareasIndex.vue', () => {
await wrapper.vm.$nextTick()
expect(wrapper.findComponent({ name: 'TablaTareas' }).exists()).toBe(true)
expect(wrapper.findComponent({ name: 'TablaTareas' }).props('tareas')).toEqual(tareasStoreMock.tareas)
const expected = [...tareasStoreMock.tareas].sort((a, b) => b.id - a.id)
expect(wrapper.findComponent({ name: 'TablaTareas' }).props('tareas')).toEqual(expected)
expect(wrapper.findComponent({ name: 'CardTarea' }).exists()).toBe(false)
})
@@ -94,8 +95,9 @@ describe('TareasIndex.vue', () => {
await wrapper.vm.$nextTick()
const cardWrappers = wrapper.findAllComponents({ name: 'CardTarea' })
expect(cardWrappers.length).toBe(tareasStoreMock.tareas.length)
expect(cardWrappers[0].props('tarea')).toEqual(tareasStoreMock.tareas[0])
const expected = [...tareasStoreMock.tareas].sort((a, b) => b.id - a.id)
expect(cardWrappers.length).toBe(expected.length)
expect(cardWrappers[0].props('tarea')).toEqual(expected[0])
expect(wrapper.findComponent({ name: 'TablaTareas' }).exists()).toBe(false)
})