#pragma once
#include <array>
#include <cstdint>
#include <vector>
#include "inventory/repo.hpp"
namespace overseer::test
{
struct SeededFamily
{
// Apartment is the root storage.
int64_t apartment_id = 0;
// Room is a child of Apartment.
int64_t room_id = 0;
// Shelf is a child of Room.
int64_t shelf_id = 0;
// 20 stuffs distributed across the three storages.
std::vector<int64_t> stuff_ids;
// 5 attachment ids (small distinct blobs, all assigned to the
// first 5 stuffs to keep test fixtures wiring simple).
std::array<int64_t, 5> attachment_ids{};
};
/// Seed a 3-level tree (Apartment > Room > Shelf), 20 stuffs, and 5
/// attachments per design ยง14.3. Pre-condition: the DB has had the
/// schema applied. Returns the ids of the created rows so individual
/// tests can address them.
SeededFamily seedFamily(::overseer::inventory::InventoryRepo& repo);
} // namespace overseer::test