Unit test bug fixes

This commit is contained in:
Dennis Eichhorn 2016-04-24 20:47:29 +02:00
parent eb3e82febe
commit d8cf1b0096
3 changed files with 104 additions and 28 deletions

View File

@ -51,14 +51,18 @@ class Installer extends InstallerAbstract
`eventmanagement_event_costs` int(11) NOT NULL, `eventmanagement_event_costs` int(11) NOT NULL,
`eventmanagement_event_budget` int(11) NOT NULL, `eventmanagement_event_budget` int(11) NOT NULL,
`eventmanagement_event_earnings` int(11) NOT NULL, `eventmanagement_event_earnings` int(11) NOT NULL,
`eventmanagement_event_created_by` int(11) NOT NULL,
`eventmanagement_event_created_at` datetime NOT NULL,
PRIMARY KEY (`eventmanagement_event_id`), PRIMARY KEY (`eventmanagement_event_id`),
KEY `eventmanagement_event_event` (`eventmanagement_event_event`) KEY `eventmanagement_event_event` (`eventmanagement_event_event`),
KEY `eventmanagement_event_created_by` (`eventmanagement_event_created_by`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
)->execute(); )->execute();
$dbPool->get('core')->con->prepare( $dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'eventmanagement_event` 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'eventmanagement_event`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'eventmanagement_event_ibfk_1` FOREIGN KEY (`eventmanagement_event_event`) REFERENCES `' . $dbPool->get('core')->prefix . 'calendar_event` (`calendar_event_id`);' ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'eventmanagement_event_ibfk_1` FOREIGN KEY (`eventmanagement_event_event`) REFERENCES `' . $dbPool->get('core')->prefix . 'calendar_event` (`calendar_event_id`),
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'eventmanagement_event_ibfk_2` FOREIGN KEY (`eventmanagement_event_created_by`) REFERENCES `' . $dbPool->get('core')->prefix . 'account_id` (`calendar_event_created_by`);'
)->execute(); )->execute();
$dbPool->get('core')->con->prepare( $dbPool->get('core')->con->prepare(

View File

@ -44,8 +44,6 @@ class Event
private $type = EventType::DEFAULT; private $type = EventType::DEFAULT;
private $name = '';
private $event = null; private $event = null;
private $costs = null; private $costs = null;
@ -56,12 +54,29 @@ class Event
private $tasks = []; private $tasks = [];
/**
* Created.
*
* @var \Datetime
* @since 1.0.0
*/
private $createdAt = null;
/**
* Creator.
*
* @var int
* @since 1.0.0
*/
private $createdBy = 0;
public function __construct(string $name = '') public function __construct(string $name = '')
{ {
$this->event = new CalendarEvent(); $this->event = new CalendarEvent();
$this->costs = new Money(); $this->costs = new Money();
$this->budget = new Money(); $this->budget = new Money();
$this->earnings = new Money(); $this->earnings = new Money();
$this->createdAt = new \DateTime('now');
$this->setName($name); $this->setName($name);
} }
@ -73,13 +88,12 @@ class Event
public function setName(string $name) public function setName(string $name)
{ {
$this->name = $name;
$this->event->setName($name); $this->event->setName($name);
} }
public function getName() : string public function getName() : string
{ {
return $this->name; return $this->event->getName();
} }
public function addTask(Task $task) public function addTask(Task $task)
@ -165,4 +179,50 @@ class Event
{ {
$this->earnings = $earnings; $this->earnings = $earnings;
} }
/**
* @return \DateTime
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getCreatedAt() : \DateTime
{
return $this->createdAt;
}
/**
* @param \DateTime $createdAt Event created at
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setCreatedAt(\DateTime $createdAt)
{
$this->createdAt = $createdAt;
$this->event->setCreatedAt($this->createdAt);
}
/**
* @return int
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getCreatedBy() : int
{
return $this->createdBy;
}
/**
* @param int $createdBy Creator
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setCreatedBy(int $createdBy)
{
$this->createdBy = $createdBy;
$this->event->setCreatedBy($this->createdBy);
}
} }

View File

@ -46,6 +46,8 @@ class EventMapper extends DataMapperAbstract
'eventmanagement_event_costs' => ['name' => 'eventmanagement_event_costs', 'type' => 'Serializable', 'internal' => 'costs'], 'eventmanagement_event_costs' => ['name' => 'eventmanagement_event_costs', 'type' => 'Serializable', 'internal' => 'costs'],
'eventmanagement_event_budget' => ['name' => 'eventmanagement_event_budget', 'type' => 'Serializable', 'internal' => 'budget'], 'eventmanagement_event_budget' => ['name' => 'eventmanagement_event_budget', 'type' => 'Serializable', 'internal' => 'budget'],
'eventmanagement_event_earnings' => ['name' => 'eventmanagement_event_earnings', 'type' => 'Serializable', 'internal' => 'earnings'], 'eventmanagement_event_earnings' => ['name' => 'eventmanagement_event_earnings', 'type' => 'Serializable', 'internal' => 'earnings'],
'eventmanagement_event_created_by' => ['name' => 'eventmanagement_event_created_by', 'type' => 'int', 'internal' => 'createdBy'],
'eventmanagement_event_created_at' => ['name' => 'eventmanagement_event_created_at', 'type' => 'DateTime', 'internal' => 'createdAt'],
]; ];
/** /**
@ -68,13 +70,6 @@ class EventMapper extends DataMapperAbstract
* @since 1.0.0 * @since 1.0.0
*/ */
protected static $hasMany = [ protected static $hasMany = [
'sources' => [
'mapper' => \Modules\Tasks\Models\TaskMapper::class, /* mapper of the related object */
'relationmapper' => null, /* if the relation itself is a more complex object that has it's own mapper */
'table' => 'eventmanager_task_relation', /* table of the related object, null if no relation table is used (many->1) */
'dst' => 'eventmanager_task_relation_dst',
'src' => 'eventmanager_task_relation_src',
],
]; ];
/** /**
@ -85,10 +80,26 @@ class EventMapper extends DataMapperAbstract
*/ */
protected static $table = 'eventmanagement_event'; protected static $table = 'eventmanagement_event';
/**
* Created at.
*
* @var string
* @since 1.0.0
*/
protected static $createdAt = 'eventmanagement_event_created_at';
/**
* Primary field name.
*
* @var string
* @since 1.0.0
*/
protected static $primaryField = 'eventmanagement_event_id';
/** /**
* Create media. * Create media.
* *
* @param Event $obj Media * @param Event $obj Obj
* *
* @return bool * @return bool
* *
@ -99,22 +110,23 @@ class EventMapper extends DataMapperAbstract
{ {
try { try {
$objId = parent::create($obj); $objId = parent::create($obj);
$query = new Builder($this->db); $query = new Builder($this->db);
$query->prefix($this->db->getPrefix()) $query->prefix($this->db->getPrefix())
->insert( ->insert(
'account_permission_account', 'account_permission_account',
'account_permission_from', 'account_permission_from',
'account_permission_for', 'account_permission_for',
'account_permission_id1', 'account_permission_id1',
'account_permission_id2', 'account_permission_id2',
'account_permission_r', 'account_permission_r',
'account_permission_w', 'account_permission_w',
'account_permission_m', 'account_permission_m',
'account_permission_d', 'account_permission_d',
'account_permission_p' 'account_permission_p'
) )
->into('account_permission') ->into('account_permission')
->values($obj->getCreatedBy(), 'calendar_event', 'calendar_event', 1, $objId, 1, 1, 1, 1, 1); ->values($obj->getCreatedBy(), 'eventmanagement_event', 'eventmanagement_event', 1, $objId, 1, 1, 1, 1, 1);
$this->db->con->prepare($query->toSql())->execute(); $this->db->con->prepare($query->toSql())->execute();
} catch (\Exception $e) { } catch (\Exception $e) {