--- /dev/null
+use Test::More;
+use Test::Exception;
+
+use strict;
+
+use lib 't';
+use utf8;
+
+use Data::Dumper;
+use Support::TestSetup;
+use File::Slurp;
+use IO::Dir;
+
+my %dir;
+tie %dir, 'IO::Dir', 'SL/DB';
+my @pms = grep { m/\.pm$/ } keys %dir;
+
+foreach my $pm (sort @pms) {
+ my $content = read_file("SL/DB/${pm}");
+ next unless $content =~ m/__PACKAGE__->meta->add_relationships?\((.+?)\);/s;
+ my $code = $1;
+
+ my @not_existing;
+ while ($code =~ m/\b(?:map_)?class\s*=>\s*['"]SL::DB::(.+?)['"]/g) {
+ push @not_existing, $1 unless -f "SL/DB/${1}.pm";
+ }
+
+ if (@not_existing) {
+ fail("$pm: Non-existing relationship model(s) " . join(' ', @not_existing));
+ } else {
+ pass("$pm: all relationship model(s) exist");
+ }
+}
+
+# print Dumper(\@pms);
+
+
+done_testing();