857a1c4700cc9f5281b8450c65cb4c478af1f814
[kivitendo-erp.git] / SL / Dev / Shop.pm
1 package SL::Dev::Shop;
2
3 use strict;
4 use base qw(Exporter);
5 use Data::Dumper;
6 our @EXPORT_OK = qw(new_shop new_shop_part new_shop_order);
7 our %EXPORT_TAGS = (ALL => \@EXPORT_OK);
8
9 use SL::DB::Shop;
10
11 sub new_shop {
12   my (%params) = @_;
13
14   my $shop = SL::DB::Shop->new(
15     description => delete $params{description} || 'testshop',
16     %params
17   );
18   return $shop;
19 }
20
21 sub new_shop_part {
22   my (%params) = @_;
23
24   my $part = delete $params{part};
25   my $shop = delete $params{shop};
26
27   my $shop_part = SL::DB::ShopPart->new(
28     part => $part,
29     shop => $shop,
30     %params
31   )->save;
32   return $shop_part;
33 }
34
35 sub new_shop_order {
36   my (%params) = @_;
37
38   my $shop_order = SL::DB::ShopOrder->new(
39     shop => $params{shop},
40     %params
41   );
42   return $shop_order;
43 }
44
45
46 1;
47
48 __END__
49
50 =head1 NAME
51
52 SL::Dev::Shop - create shop objects for testing, with minimal defaults
53
54 =head1 FUNCTIONS
55
56 =head2 C<create_shop %PARAMS>
57
58 Creates a new shop object.
59
60   my $shop = SL::Dev::Shop::create_shop();
61
62 Add a part as a shop part to the shop:
63
64   my $part = SL::Dev::Part::create_part();
65   $shop->add_shop_parts( SL::DB::ShopPart->new(part => $part, shop_description => 'Simply the best part!' ) );
66   $shop->save;
67
68
69 =head1 BUGS
70
71 Nothing here yet.
72
73 =head1 AUTHOR
74
75 G. Richardson E<lt>grichardson@kivitendo-premium.deE<gt>
76
77 =cut