Prophet::Test(3pm)

  set_editor($code)
Sets the subroutine that Prophet should use instead of "Prophet::CLI::Command::edit_text" (as this routine invokes an interactive editor) to $code.

  set_editor_script SCRIPT
Sets the editor that Proc::InvokeEditor uses.

This should be a non-interactive script found in t/scripts.

  import_extra($class, $args)

  in_gladiator($code)
Run the given code using Devel::Gladiator.

  repo_path_for($username)
Returns a path on disk for where $username's replica is stored.

  repo_uri_for($username)
Returns a file:// URI for $USERNAME'S replica (with the correct replica type prefix).

  replica_uuid
Returns the UUID of the test replica.

  database_uuid
Returns the UUID of the test database.

  replica_last_rev
Returns the sequence number of the last change in the test replica.

  as_user($username, $coderef)
Run this code block as $username. This routine sets up the %ENV hash so that when we go looking for a repository, we get the user's repo.

  replica_uuid_for($username)
Returns the UUID of the given user's test replica.

  database_uuid_for($username)
Returns the UUID of the given user's test database.

  ok_added_revisions( { CODE }, $numbers_of_new_revisions, $msg)
Checks that the given code block adds the given number of changes to the test replica. $msg is optional and will be printed with the test if given.

  serialize_conflict($conflict_obj)
Returns a simple, serialized version of a Prophet::Conflict object suitable for comparison in tests.

The serialized version is a hash reference containing the following keys:
    meta => { original_source_uuid => 'source_replica_uuid' }
    records => { 'record_uuid' =>
                   { change_type => 'type',
                     props => { propchange_name => { source_old => 'old_val',
                        source_new => 'new_val',
                        target_old => 'target_val',
                        }
                        }
                   },
                 'another_record_uuid' =>
                   { change_type => 'type',
                     props => { propchange_name => { source_old => 'old_val',
                        source_new => 'new_val',
                        target_old => 'target_val',
                        }
                        }
                   },
               }

  serialize_changeset($changeset_obj)
Returns a simple, serialized version of a Prophet::ChangeSet object suitable for comparison in tests (a hash).

  run_command($command, @args)
Run the given command with (optionally) the given args using a new Prophet::CLI object. Returns the standard output of that command in scalar form or, in array context, the STDOUT in scalar form *and* the STDERR in scalar form.

Examples:

    run_command('create', '--type=Foo');

  load_record($type, $uuid)
Loads and returns a record object for the record with the given type and uuid.

  as_alice CODE, as_bob CODE, as_charlie CODE, as_david CODE
Runs CODE as alice, bob, charlie or david.