Coverage Summary for Class: WorkspaceMemberStatus (com.georgeci.moneysurfer.domain.model)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| WorkspaceMemberStatus |
100%
(1/1)
|
100%
(1/1)
|
|
100%
(3/3)
|
100%
(24/24)
|
package com.georgeci.moneysurfer.domain.model
/**
* Lifecycle of a [WorkspaceMember] row.
*
* Soft-delete only — Firestore rules forbid hard deletes, so a row's terminal state
* is encoded in `status` + a matching `*At` timestamp. Pending invitees do NOT have
* a member row; pending state lives on `WorkspaceInvite.status = PENDING` instead.
*
* - [ACTIVE] — current participant.
* - [LEFT] — voluntarily left via `LeaveWorkspaceUseCase`. `WorkspaceMember.leftAt` set.
* - [REMOVED] — kicked by an owner via `RemoveMemberUseCase`. `WorkspaceMember.removedAt` set.
*/
enum class WorkspaceMemberStatus {
ACTIVE,
LEFT,
REMOVED,
}