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_budget` 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`),
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;'
)->execute();
$dbPool->get('core')->con->prepare(
'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();
$dbPool->get('core')->con->prepare(

View File

@ -44,8 +44,6 @@ class Event
private $type = EventType::DEFAULT;
private $name = '';
private $event = null;
private $costs = null;
@ -56,12 +54,29 @@ class Event
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 = '')
{
$this->event = new CalendarEvent();
$this->costs = new Money();
$this->budget = new Money();
$this->earnings = new Money();
$this->createdAt = new \DateTime('now');
$this->setName($name);
}
@ -73,13 +88,12 @@ class Event
public function setName(string $name)
{
$this->name = $name;
$this->event->setName($name);
}
public function getName() : string
{
return $this->name;
return $this->event->getName();
}
public function addTask(Task $task)
@ -165,4 +179,50 @@ class Event
{
$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_budget' => ['name' => 'eventmanagement_event_budget', 'type' => 'Serializable', 'internal' => 'budget'],
'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
*/
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';
/**
* 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.
*
* @param Event $obj Media
* @param Event $obj Obj
*
* @return bool
*
@ -99,22 +110,23 @@ class EventMapper extends DataMapperAbstract
{
try {
$objId = parent::create($obj);
$query = new Builder($this->db);
$query->prefix($this->db->getPrefix())
->insert(
'account_permission_account',
'account_permission_from',
'account_permission_for',
'account_permission_id1',
'account_permission_id2',
'account_permission_r',
'account_permission_w',
'account_permission_m',
'account_permission_d',
'account_permission_p'
)
->into('account_permission')
->values($obj->getCreatedBy(), 'calendar_event', 'calendar_event', 1, $objId, 1, 1, 1, 1, 1);
->insert(
'account_permission_account',
'account_permission_from',
'account_permission_for',
'account_permission_id1',
'account_permission_id2',
'account_permission_r',
'account_permission_w',
'account_permission_m',
'account_permission_d',
'account_permission_p'
)
->into('account_permission')
->values($obj->getCreatedBy(), 'eventmanagement_event', 'eventmanagement_event', 1, $objId, 1, 1, 1, 1, 1);
$this->db->con->prepare($query->toSql())->execute();
} catch (\Exception $e) {