Hi guys,

I set up a really basic cake 1.2.4 project to verify a behaviour I
observed.

This is my database layout:

CREATE TABLE `messages` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `text` text NOT NULL,
  `user_id` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

CREATE TABLE `messages_tags` (
  `message_id` int(10) unsigned NOT NULL,
  `tag_id` int(10) unsigned NOT NULL,
  UNIQUE KEY `message_id` (`message_id`,`tag_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `tags` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `text` varchar(20) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

CREATE TABLE `users` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(100) NOT NULL,
  `type` enum('default','admin') NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Here are my fixtures (everything made by the bake shell):

<?php
/* SVN FILE: $Id$ */
/* Message Fixture generated on: 2009-09-03 08:06:40 : 1251958000*/

class MessageFixture extends CakeTestFixture {
        var $name = 'Message';
        var $table = 'messages';
        var $fields = array(
                'id' => array('type'=>'integer', 'null' => false, 'default' => 
NULL,
'length' => 10, 'key' => 'primary'),
                'text' => array('type'=>'text', 'null' => false),
                'user_id' => array('type'=>'integer', 'null' => false, 'length' 
=>
10),
                'indexes' => array('PRIMARY' => array('column' => 'id', 
'unique' =>
1))
        );
        var $records = array(array(
                'id'  => 1,
                'text'  => 'Lorem ipsum dolor sit amet, aliquet feugiat. 
Convallis
morbi fringilla gravida,phasellus feugiat dapibus velit nunc, pulvinar
eget sollicitudin venenatis cum nullam,vivamus ut a sed, mollitia
lectus. Nulla vestibulum massa neque ut et, id hendrerit sit,feugiat
in taciti enim proin nibh, tempor dignissim, rhoncus duis vestibulum
nunc mattis convallis.',
                'user_id'  => 1
        ));
}
?>

<?php
/* SVN FILE: $Id$ */
/* Tag Fixture generated on: 2009-09-03 08:06:53 : 1251958013*/

class TagFixture extends CakeTestFixture {
        var $name = 'Tag';
        var $table = 'tags';
        var $fields = array(
                'id' => array('type'=>'integer', 'null' => false, 'default' => 
NULL,
'length' => 10, 'key' => 'primary'),
                'text' => array('type'=>'string', 'null' => false, 'length' => 
20),
                'indexes' => array('PRIMARY' => array('column' => 'id', 
'unique' =>
1))
        );
        var $records = array(array(
                'id'  => 1,
                'text'  => 'Lorem ipsum dolor '
        ));
}
?>

<?php
/* SVN FILE: $Id$ */
/* User Fixture generated on: 2009-09-03 08:07:04 : 1251958024*/

class UserFixture extends CakeTestFixture {
        var $name = 'User';
        var $table = 'users';
        var $fields = array(
                'id' => array('type'=>'integer', 'null' => false, 'default' => 
NULL,
'length' => 10, 'key' => 'primary'),
                'name' => array('type'=>'string', 'null' => false, 'length' => 
100),
                'indexes' => array('PRIMARY' => array('column' => 'id', 
'unique' =>
1))
        );
        var $records = array(array(
                'id'  => 1,
                'name'  => 'Lorem ipsum dolor sit amet'
        ));
}
?>

... and my test cases:

<?php
/* SVN FILE: $Id$ */
/* Message Test cases generated on: 2009-09-03 08:06:42 : 1251958002*/
App::import('Model', 'Message');

class MessageTestCase extends CakeTestCase {
        var $Message = null;
        var $fixtures = array('app.message', 'app.user');

        function startTest() {
                $this->Message =& ClassRegistry::init('Message');
        }

        function testMessageInstance() {
                $this->assertTrue(is_a($this->Message, 'Message'));
        }

        function testMessageFind() {
                $this->Message->recursive = -1;
                $results = $this->Message->find('first');
                $this->assertTrue(!empty($results));

                $expected = array('Message' => array(
                        'id'  => 1,
                        'text'  => 'Lorem ipsum dolor sit amet, aliquet 
feugiat. Convallis
morbi fringilla gravida,phasellus feugiat dapibus velit nunc, pulvinar
eget sollicitudin venenatis cum nullam,vivamus ut a sed, mollitia
lectus. Nulla vestibulum massa neque ut et, id hendrerit sit,feugiat
in taciti enim proin nibh, tempor dignissim, rhoncus duis vestibulum
nunc mattis convallis.',
                        'user_id'  => 1
                ));
                $this->assertEqual($results, $expected);
        }
}
?>

<?php
/* SVN FILE: $Id$ */
/* Tag Test cases generated on: 2009-09-03 08:06:53 : 1251958013*/
App::import('Model', 'Tag');

class TagTestCase extends CakeTestCase {
        var $Tag = null;
        var $fixtures = array('app.tag');

        function startTest() {
                $this->Tag =& ClassRegistry::init('Tag');
        }

        function testTagInstance() {
                $this->assertTrue(is_a($this->Tag, 'Tag'));
        }

        function testTagFind() {
                $this->Tag->recursive = -1;
                $results = $this->Tag->find('first');
                $this->assertTrue(!empty($results));

                $expected = array('Tag' => array(
                        'id'  => 1,
                        'text'  => 'Lorem ipsum dolor '
                ));
                $this->assertEqual($results, $expected);
        }
}
?>

<?php
/* SVN FILE: $Id$ */
/* User Test cases generated on: 2009-09-03 08:07:04 : 1251958024*/
App::import('Model', 'User');

class UserTestCase extends CakeTestCase {
        var $User = null;
        var $fixtures = array('app.user', 'app.message');

        function startTest() {
                $this->User =& ClassRegistry::init('User');
        }

        function testUserInstance() {
                $this->assertTrue(is_a($this->User, 'User'));
        }

        function testUserFind() {
                $this->User->recursive = -1;
                $results = $this->User->find('first');
                $this->assertTrue(!empty($results));

                $expected = array('User' => array(
                        'id'  => 1,
                        'name'  => 'Lorem ipsum dolor sit amet'
                ));
                $this->assertEqual($results, $expected);
        }
}
?>

Running the corresponding controller tests is no problem. I get a
green bar. But running the model tests fails. Running the Message
Model Test passes with no errors, but deletes the tables Messages and
Users.

I'm confused. Can anyone help?

Thanks in advance.
Marco

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to