fix(agent): Cookie-View CONTROLLER -> Joint-Controller-Gruppe
recipient_type=CONTROLLER (Meta/LinkedIn/Criteo) gehoert zu Art. 26 (eigenverantwortliche Dritte / Joint Controller), nicht zu den eigenen Verarbeitungen. BMW: 58 eigene / 16 AVV / 7 joint / 2 sonstige (= Mail-VVT). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -51,9 +51,9 @@ const EEA = new Set([
|
|||||||
'IT','LV','LT','LU','MT','PL','PT','RO','SK','SI','ES','SE','IS','LI','NO',
|
'IT','LV','LT','LU','MT','PL','PT','RO','SK','SI','ES','SE','IS','LI','NO',
|
||||||
])
|
])
|
||||||
const GROUPS = [
|
const GROUPS = [
|
||||||
{ key: 'own', label: 'Eigene Verarbeitungen (VVT, Art. 30)', test: (r: string) => !r || r === 'INTERNAL' || r === 'GROUP' || r === 'CONTROLLER' },
|
{ key: 'own', label: 'Eigene Verarbeitungen (VVT, Art. 30)', test: (r: string) => !r || r === 'INTERNAL' || r === 'GROUP' },
|
||||||
{ key: 'proc', label: 'Auftragsverarbeiter (AVV, Art. 28)', test: (r: string) => r === 'PROCESSOR' },
|
{ key: 'proc', label: 'Auftragsverarbeiter (AVV, Art. 28)', test: (r: string) => r === 'PROCESSOR' },
|
||||||
{ key: 'joint', label: 'Joint Controller (Art. 26)', test: (r: string) => r === 'JOINT_CONTROLLER' },
|
{ key: 'joint', label: 'Eigenverantwortliche Dritte / Joint Controller (Art. 26)', test: (r: string) => r === 'JOINT_CONTROLLER' || r === 'CONTROLLER' },
|
||||||
{ key: 'other', label: 'Sonstige Empfänger', test: () => true },
|
{ key: 'other', label: 'Sonstige Empfänger', test: () => true },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,10 @@ const SNAP = {
|
|||||||
recipient_type: 'INTERNAL', compliance_score: 100,
|
recipient_type: 'INTERNAL', compliance_score: 100,
|
||||||
cookies: [{ name: 'x', functional_role: 'preference', purpose: 'Sprache' }],
|
cookies: [{ name: 'x', functional_role: 'preference', purpose: 'Sprache' }],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'Meta / Facebook', category: 'marketing', country: 'IE',
|
||||||
|
recipient_type: 'CONTROLLER', compliance_score: 100, cookies: [],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,10 +36,12 @@ describe('CookieResultView', () => {
|
|||||||
expect(screen.getByText('Anbieter')).toBeInTheDocument()
|
expect(screen.getByText('Anbieter')).toBeInTheDocument()
|
||||||
expect(screen.getByText('Cookies gesamt')).toBeInTheDocument()
|
expect(screen.getByText('Cookies gesamt')).toBeInTheDocument()
|
||||||
expect(screen.getByText('3')).toBeInTheDocument()
|
expect(screen.getByText('3')).toBeInTheDocument()
|
||||||
// Gruppen: Eigene + Auftragsverarbeiter
|
// Gruppen: Eigene + Auftragsverarbeiter + Joint Controller (CONTROLLER)
|
||||||
expect(screen.getByText(/Eigene Verarbeitungen/)).toBeInTheDocument()
|
expect(screen.getByText(/Eigene Verarbeitungen/)).toBeInTheDocument()
|
||||||
expect(screen.getByText(/Auftragsverarbeiter/)).toBeInTheDocument()
|
expect(screen.getByText(/Auftragsverarbeiter/)).toBeInTheDocument()
|
||||||
|
expect(screen.getByText(/Joint Controller/)).toBeInTheDocument()
|
||||||
expect(screen.getByText('Salesforce')).toBeInTheDocument()
|
expect(screen.getByText('Salesforce')).toBeInTheDocument()
|
||||||
|
expect(screen.getByText('Meta / Facebook')).toBeInTheDocument()
|
||||||
})
|
})
|
||||||
|
|
||||||
it('klappt einen Vendor auf und zeigt die Cookies', () => {
|
it('klappt einen Vendor auf und zeigt die Cookies', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user