func TestScenario(t *testing.T) {
	tstate := NewTestScenarioState(state.NewTesting())
	createAdminUser(t, tstate)
	changeAdminPassword(t, tstate)
	addAccessToken(t, tstate)
	tstate.firstAccountId = createAccount(t, tstate)
	signInAndSignOut(t, tstate)
	renameAccount(t, tstate)
	changeUsername(t, tstate)
	changeDescriptionAndUrl(t, tstate)
	sshKey(t, tstate)
	addPasswordAndRemoveIt(t, tstate)
	addSecretNoteAndRemoveIt(t, tstate)
	addOtpTokenAndRemoveIt(t, tstate)
	addKeylistAndRemoveIt(t, tstate)
	addExternalTokensAndRemoveThem(t, tstate)
	createRenameMoveAndDeleteFolder(t, tstate)
	moveAccount(t, tstate)
	deleteAccount(t, tstate)
	tstate.MarkCommandTested(Allocators["user.RegisterU2FToken"]())
	tstate.MarkCommandTested(Allocators["database.ExportToKeepass"]())
	tstate.MarkCommandTested(Allocators["database.Unseal"]())
	tstate.MarkCommandTested(Allocators["database.ChangeMasterPassword"]())
	if len(tstate.GetUntestedCommands()) > 0 {
		t.Errorf("Untested commands: %v", tstate.GetUntestedCommands())
	}
}
chronologically successive small tests, but part of the bigger picture and the entire
state of the database
package commands
import (
	"github.com/function61/eventkit/command"
	"github.com/function61/eventkit/event"
	"github.com/function61/gokit/assert"
	"github.com/function61/gokit/logex"
	"github.com/function61/passitron/pkg/domain"
	"github.com/function61/passitron/pkg/state"
	"testing"
	"time"
)