feat: Add CMS and Member Area screens with ViewModels
- Implemented CmsViewModel to manage CMS data loading and state. - Created MemberAreaDetailScreens for displaying member information and news. - Added MembersViewModel and MemberNewsViewModel for managing member data and news. - Developed MemberAreaScreen to provide navigation and display member-related options. - Introduced ProfileScreen and ProfileViewModel for user profile management. - Implemented state management for loading, error handling, and form updates across screens.
This commit is contained in:
@@ -233,6 +233,26 @@ describe('Spielplan, Mannschaften & öffentliche Endpoints', () => {
|
||||
expect(result.birthdays).toHaveLength(1)
|
||||
})
|
||||
|
||||
it('akzeptiert Bearer-Token für Android-Clients', async () => {
|
||||
const event = createEvent({ headers: { authorization: 'Bearer android-token' } })
|
||||
const inDays = 7
|
||||
const targetDate = new Date()
|
||||
targetDate.setDate(targetDate.getDate() + inDays)
|
||||
const geburtsdatum = `${targetDate.getFullYear() - 30}-${String(targetDate.getMonth() + 1).padStart(2, '0')}-${String(targetDate.getDate()).padStart(2, '0')}`
|
||||
|
||||
authUtils.verifyToken.mockReturnValue({ id: 'v1' })
|
||||
authUtils.getUserFromToken.mockResolvedValue({ id: 'v1', roles: ['vorstand'], active: true })
|
||||
memberUtils.readMembers.mockResolvedValue([
|
||||
{ firstName: 'Android', lastName: 'Privat', geburtsdatum, visibility: { showBirthday: false } }
|
||||
])
|
||||
authUtils.readUsers.mockResolvedValue([])
|
||||
|
||||
const result = await birthdaysHandler(event)
|
||||
|
||||
expect(authUtils.verifyToken).toHaveBeenCalledWith('android-token')
|
||||
expect(result.birthdays).toHaveLength(1)
|
||||
})
|
||||
|
||||
it('ignoriert Mitglieder ohne Geburtsdatum', async () => {
|
||||
const event = createEvent()
|
||||
memberUtils.readMembers.mockResolvedValue([
|
||||
|
||||
Reference in New Issue
Block a user