# $Id$ package Handel::TestPipeline::ValidateError; use strict; use warnings; use base 'Handel::Checkout::Plugin'; use Handel::Constants qw(:checkout); sub register { my ($self, $ctx) = @_; $ctx->add_handler(CHECKOUT_PHASE_VALIDATE, \&handler); }; sub handler { my ($self, $ctx) = @_; if (my $order = $ctx->order) { my $subtotal = 0; eval { my @items = $order->items; foreach my $item (@items) { $item->sku('ERRORSKU'); }; $order->billtofirstname('ErrorBillToFirstName'); $order->billtolastname('ErrorBillToLastName'); die 'ValidateError'; }; if ($@) { $ctx->add_message($@); return CHECKOUT_HANDLER_ERROR; } else { return CHECKOUT_HANDLER_OK; }; } else { $ctx->add_message('No order was loaded'); return CHECKOUT_HANDLER_ERROR; }; }; 1;