NUEVA GESTIÓN DE USUARIOS Y PARTIDAS
This commit is contained in:
@@ -140,6 +140,44 @@ void main() {
|
||||
expect(sala.usuarios['helena']?.estaDisponible, isTrue);
|
||||
});
|
||||
|
||||
|
||||
test('registra actividad y conserva usuarios seleccionados en partida al desconectar', () {
|
||||
sala.registrarCliente(
|
||||
const ClienteSala(
|
||||
clientId: 'cliente-sofia',
|
||||
endpointId: 'endpoint-2',
|
||||
nombre: 'Sofía',
|
||||
),
|
||||
);
|
||||
sala
|
||||
..crearUsuario(Usuario(id: 'ana', nombre: 'Ana'))
|
||||
..crearUsuario(Usuario(id: 'sofia', nombre: 'Sofía'))
|
||||
..crearUsuario(Usuario(id: 'helena', nombre: 'Helena'))
|
||||
..seleccionarUsuario(usuarioId: 'ana', clienteId: 'host')
|
||||
..seleccionarUsuario(usuarioId: 'sofia', clienteId: 'cliente-sofia')
|
||||
..seleccionarUsuario(usuarioId: 'helena', clienteId: 'cliente-sofia');
|
||||
|
||||
sala.registrarActividadCliente('cliente-sofia', ahoraMs: 1234);
|
||||
expect(sala.clientes['cliente-sofia']?.conectado, isTrue);
|
||||
expect(sala.clientes['cliente-sofia']?.ultimaActividadMs, 1234);
|
||||
|
||||
sala.iniciarPartida();
|
||||
sala.desconectarCliente('cliente-sofia');
|
||||
|
||||
expect(sala.clientes['cliente-sofia']?.conectado, isFalse);
|
||||
expect(sala.usuarios['sofia']?.clienteIdSeleccionado, 'cliente-sofia');
|
||||
expect(sala.usuarios['helena']?.clienteIdSeleccionado, 'cliente-sofia');
|
||||
expect(sala.usuariosDeClientesDesconectados.length, 2);
|
||||
|
||||
final reasignados = sala.reasignarUsuariosDeCliente(
|
||||
clientIdOrigen: 'cliente-sofia',
|
||||
clientIdDestino: 'host',
|
||||
);
|
||||
|
||||
expect(reasignados, 2);
|
||||
expect(sala.usuarios['sofia']?.clienteIdSeleccionado, 'host');
|
||||
expect(sala.usuarios['helena']?.clienteIdSeleccionado, 'host');
|
||||
});
|
||||
test('serializa y restaura clientes y usuarios seleccionados', () {
|
||||
sala
|
||||
..crearUsuario(Usuario(id: 'ana', nombre: 'Ana'))
|
||||
|
||||
Reference in New Issue
Block a user