Projekt

Allgemein

Profil

Herunterladen (1,31 KB) Statistiken
| Zweig: | Markierung: | Revision:
8aea132f Geoffrey Richardson
use strict;
use Test::More;

use lib 't';
use Support::TestSetup;
use Test::Exception;
use SL::DB::Unit;
use SL::DB::Part;
use SL::DB::Assembly;
35777fef Geoffrey Richardson
use SL::Dev::Part;
8aea132f Geoffrey Richardson
Support::TestSetup::login();

clear_up();
reset_state();

35777fef Geoffrey Richardson
is( SL::DB::Manager::Part->get_all_count(), 4, "total number of parts created is 4");
8aea132f Geoffrey Richardson
35777fef Geoffrey Richardson
my $assembly_part = SL::DB::Manager::Part->find_by( partnumber => '19000' ) || die "Can't find part 19000";
my $assembly_item_part = SL::DB::Manager::Part->find_by( partnumber => 'ap1' );
8aea132f Geoffrey Richardson
98b64fe1 Geoffrey Richardson
is($assembly_part->part_type, 'assembly', 'assembly has correct type');
35777fef Geoffrey Richardson
is( scalar @{$assembly_part->assemblies}, 3, 'assembly consists of two parts' );
5222d83a Geoffrey Richardson
# fetch assembly item corresponding to partnumber 19000
my $assembly_items = $assembly_part->find_assemblies( { parts_id => $assembly_item_part->id } ) || die "can't find assembly_item";
my $assembly_item = $assembly_items->[0];
35777fef Geoffrey Richardson
is($assembly_item->part->partnumber, 'ap1', 'assembly part part relation works');
is($assembly_item->assembly_part->partnumber, '19000', 'assembly part assembly part relation works');
8aea132f Geoffrey Richardson
clear_up();
done_testing;

sub clear_up {
SL::DB::Manager::Assembly->delete_all(all => 1);
SL::DB::Manager::Part->delete_all( all => 1);
};

sub reset_state {
my %params = @_;

35777fef Geoffrey Richardson
my $assembly = SL::Dev::Part::create_assembly( partnumber => '19000' )->save;
8aea132f Geoffrey Richardson
};

1;