mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-15 18:53:06 +00:00
436 seeded Praças (municipality-based; per-TSE-zone in Salvador/Camaçari) become the operational unit; roles renamed to coordinator/advisor/leader with advisors scoped to administered Praças. Leadership is one record per person across many Praças/organizations; vote pledges split leader-declared vs staff-estimated (estimates never serialized to leaders). Adds organizations, demand workflow with staff-only cost/receipts, action-plan results with deputy presence, manual political trend, multi-candidate comparison and the diverging red/white/blue map mode. Migration 20260721_020109_remodel_plazas deliberately resets the campaign vertical in production (public site untouched); test suite ported to the new model (unit 187 / int 306 / e2e 9 green).
30 lines
1 KiB
TypeScript
30 lines
1 KiB
TypeScript
// @vitest-environment node
|
|
|
|
import { describe, expect, it, vi } from 'vitest'
|
|
|
|
import type { CampaignUser } from '@/payload-types'
|
|
import { reloadCampaignActor, requireCampaignUser } from '@/utilities/campaignActionContext'
|
|
|
|
describe('campaign action context', () => {
|
|
it('preserves the generic authentication error', async () => {
|
|
await expect(requireCampaignUser(async () => null)).rejects.toThrow('Autenticação necessária.')
|
|
})
|
|
|
|
it('reloads the actor role with the transaction req', async () => {
|
|
const staleActor = { id: 9, role: 'coordinator' } as CampaignUser
|
|
const currentActor = { ...staleActor, role: 'leader' } as CampaignUser
|
|
const findByID = vi.fn().mockResolvedValue(currentActor)
|
|
const req = { transactionID: 21 }
|
|
|
|
await expect(reloadCampaignActor({ findByID } as never, staleActor, req)).resolves.toBe(
|
|
currentActor,
|
|
)
|
|
expect(findByID).toHaveBeenCalledWith({
|
|
collection: 'campaignUser',
|
|
id: staleActor.id,
|
|
depth: 0,
|
|
overrideAccess: true,
|
|
req,
|
|
})
|
|
})
|
|
})
|