FolksDummyPersonaStore

FolksDummyPersonaStore — A persona store which allows FolksDummyPersonas to be programmatically created and manipulated, for the purposes of testing the core of libfolks itself. This should not be used in user-visible applications.

Description

There are two sides to this class’ interface: the methods and properties declared by FolksPersonaStore, which form the normal libfolks persona store API; and the mock methods and properties (see for example folks_dummy_persona_store_set_add_persona_from_details_mock()) which are intended to be used by test driver code to simulate the behaviour of a real backing store. Calls to these mock methods effect state changes in the store which are visible in the normal libfolks API. The update_, register_ and unregister_ prefixes and the mock suffix are commonly used for backing store methods.

The main action performed with a dummy persona store is to change its set of personas, adding and removing them dynamically to test client-side behaviour. The client-side APIs (folks_persona_store_add_persona_from_details() and folks_persona_store_remove_persona()) should not be used for this. Instead, the mock APIs should be used: folks_dummy_persona_store_freeze_personas_changed(), folks_dummy_persona_store_register_personas(), folks_dummy_persona_store_unregister_personas() and folks_dummy_persona_store_thaw_personas_changed(). These can be used to build up complex "personas-changed" signal emissions, which are only emitted after the final call to folks_dummy_persona_store_thaw_personas_changed().

The API in FolksDummy is unstable and may change wildly. It is designed mostly for use by libfolks unit tests.

Functions