Author: garak
Date: 2010-02-24 19:34:03 +0100 (Wed, 24 Feb 2010)
New Revision: 28254
Modified:
plugins/sfSocialPlugin/trunk/config/schema.yml
plugins/sfSocialPlugin/trunk/data/fixtures/06_notifies.yml
plugins/sfSocialPlugin/trunk/i18n/sfSocial.it.xml
plugins/sfSocialPlugin/trunk/lib/form/sfSocialEventUserForm.class.php
plugins/sfSocialPlugin/trunk/lib/form/sfSocialProfileForm.class.php
plugins/sfSocialPlugin/trunk/lib/model/sfSocialContactPeer.php
plugins/sfSocialPlugin/trunk/lib/model/sfSocialContactRequestPeer.php
plugins/sfSocialPlugin/trunk/lib/model/sfSocialEventInvite.php
plugins/sfSocialPlugin/trunk/lib/model/sfSocialEventPeer.php
plugins/sfSocialPlugin/trunk/lib/model/sfSocialGroupInvitePeer.php
plugins/sfSocialPlugin/trunk/lib/model/sfSocialGroupPeer.php
plugins/sfSocialPlugin/trunk/lib/sfSocial.class.php
plugins/sfSocialPlugin/trunk/modules/sfSocialGroup/templates/viewSuccess.php
plugins/sfSocialPlugin/trunk/test/bootstrap/functional.php
plugins/sfSocialPlugin/trunk/test/functional/runAll.sh
plugins/sfSocialPlugin/trunk/test/functional/sfSocialContactActionsTest.php
plugins/sfSocialPlugin/trunk/test/functional/sfSocialEventActionsTest.php
plugins/sfSocialPlugin/trunk/test/functional/sfSocialGroupActionsTest.php
plugins/sfSocialPlugin/trunk/test/functional/sfSocialMessageActionsTest.php
plugins/sfSocialPlugin/trunk/test/functional/sfSocialNotifyActionsTest.php
plugins/sfSocialPlugin/trunk/test/functional/sfSocialUserActionsTest.php
Log:
[sfSocialPlugin] fixed bug in groups; improved tests; migrated schema to
alternate syntax
Modified: plugins/sfSocialPlugin/trunk/config/schema.yml
===================================================================
--- plugins/sfSocialPlugin/trunk/config/schema.yml 2010-02-24 18:15:43 UTC
(rev 28253)
+++ plugins/sfSocialPlugin/trunk/config/schema.yml 2010-02-24 18:34:03 UTC
(rev 28254)
@@ -1,122 +1,128 @@
-propel:
- _attributes: { package: plugins.sfSocialPlugin.lib.model }
+package: plugins.sfSocialPlugin.lib.model
- sf_social_contact:
- _attributes: { phpName: sfSocialContact }
- id: ~
- user_from: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- user_to: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- created_at: ~
- _uniques: { contact: [user_from, user_to] }
+classes:
+
+ sfSocialContact:
+ columns:
+ id: ~
+ user_from: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ user_to: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ created_at: ~
+ uniques:
+ contact: [ user_from, user_to ]
- sf_social_contact_group:
- _attributes: { phpName: sfSocialContactGroup }
- id: ~
- contact_id: { type: integer, required: true, foreignTable:
sf_social_contact, foreignReference: id, onDelete: cascade, onUpdate: cascade }
- name: { type: varchar }
+ sfSocialContactGroup:
+ columns:
+ id: ~
+ contact_id: { type: integer, required: true, foreignClass:
sfSocialContact, foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ name: { type: varchar }
- sf_social_contact_group_contact:
- _attributes: { phpName: sfSocialContactGroupContact }
- contact_group_id: { type: integer, primaryKey: true, required: true,
foreignTable: sf_social_contact_group, foreignReference: id, onDelete: cascade,
onUpdate: cascade }
- contact_id: { type: integer, primaryKey: true, required: true,
foreignTable: sf_social_contact, foreignReference: id, onDelete: cascade,
onUpdate: cascade }
- created_at: ~
+ sfSocialContactGroupContact:
+ columns:
+ contact_group_id: { type: integer, primaryKey: true, required: true,
foreignClass: sfSocialContactGroup, foreignReference: id, onDelete: cascade,
onUpdate: cascade }
+ contact_id: { type: integer, primaryKey: true, required: true,
foreignClass: sfSocialContact, foreignReference: id, onDelete: cascade,
onUpdate: cascade }
+ created_at: ~
- sf_social_contact_request:
- _attributes: { phpName: sfSocialContactRequest }
- id: ~
- user_from: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- user_to: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- message: { type: varchar }
- accepted: { type: boolean, default: false }
- created_at: ~
- _uniques: { request: [user_from, user_to] }
+ sfSocialContactRequest:
+ columns:
+ id: ~
+ user_from: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ user_to: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ message: { type: varchar }
+ accepted: { type: boolean, default: false }
+ created_at: ~
+ uniques:
+ request: [ user_from, user_to ]
- sf_social_event:
- _attributes: { phpName: sfSocialEvent }
- id: ~
- user_admin: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- title: { type: varchar, required: true }
- description: { type: longvarchar, required: true }
- start: { type: timestamp }
- end: { type: timestamp }
- location: { type: varchar, required: true }
- created_at: ~
- updated_at: ~
+ sfSocialEvent:
+ columns:
+ id: ~
+ user_admin: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ title: { type: varchar, required: true }
+ description: { type: longvarchar, required: true }
+ start: { type: timestamp }
+ end: { type: timestamp }
+ location: { type: varchar, required: true }
+ created_at: ~
+ updated_at: ~
- sf_social_event_invite:
- _attributes: { phpName: sfSocialEventInvite }
- id: ~
- event_id: { type: integer, required: true, foreignTable:
sf_social_event, foreignReference: id, onDelete: cascade, onUpdate: cascade }
- user_id: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- user_from: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- replied: { type: boolean, default: false }
- created_at: ~
- _uniques: { invite: [event_id, user_id, user_from] }
+ sfSocialEventInvite:
+ columns:
+ id: ~
+ event_id: { type: integer, required: true, foreignClass:
sfSocialEvent, foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ user_id: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ user_from: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ replied: { type: boolean, default: false }
+ created_at: ~
+ uniques:
+ invite: [ event_id, user_id, user_from ]
- sf_social_event_user:
- _attributes: { phpName: sfSocialEventUser }
- event_id: { type: integer, primaryKey: true, required: true,
foreignTable: sf_social_event, foreignReference: id, onDelete: cascade,
onUpdate: cascade }
- user_id: { type: integer, primaryKey: true, required: true,
foreignTable: sf_guard_user, foreignReference: id, onDelete: cascade, onUpdate:
cascade }
- confirm: { type: integer, required: true, default: 0 }
- created_at: ~
+ sfSocialEventUser:
+ columns:
+ event_id: { type: integer, primaryKey: true, required: true,
foreignClass: sfSocialEvent, foreignReference: id, onDelete: cascade, onUpdate:
cascade }
+ user_id: { type: integer, primaryKey: true, required: true,
foreignClass: sfGuardUser, foreignReference: id, onDelete: cascade, onUpdate:
cascade }
+ confirm: { type: integer, required: true, default: 0 }
+ created_at: ~
- sf_social_group:
- _attributes: { phpName: sfSocialGroup }
- id: ~
- user_admin: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- title: { type: varchar, required: true }
- description: { type: longvarchar, required: true }
- created_at: ~
- updated_at: ~
+ sfSocialGroup:
+ columns:
+ id: ~
+ user_admin: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ title: { type: varchar, required: true }
+ description: { type: longvarchar, required: true }
+ created_at: ~
+ updated_at: ~
- sf_social_group_invite:
- _attributes: { phpName: sfSocialGroupInvite }
- id: ~
- group_id: { type: integer, required: true, foreignTable:
sf_social_group, foreignReference: id, onDelete: cascade, onUpdate: cascade }
- user_id: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- user_from: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- replied: { type: boolean, default: false }
- created_at: ~
- _uniques: { invite: [group_id, user_id, user_from] }
+ sfSocialGroupInvite:
+ columns:
+ id: ~
+ group_id: { type: integer, required: true, foreignClass:
sfSocialGroup, foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ user_id: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ user_from: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ replied: { type: boolean, default: false }
+ created_at: ~
+ uniques:
+ invite: [ group_id, user_id, user_from ]
- sf_social_group_user:
- _attributes: { phpName: sfSocialGroupUser }
- group_id: { type: integer, primaryKey: true, required: true,
foreignTable: sf_social_group, foreignReference: id, onDelete: cascade,
onUpdate: cascade }
- user_id: { type: integer, primaryKey: true, required: true,
foreignTable: sf_guard_user, foreignReference: id, onDelete: cascade, onUpdate:
cascade }
- created_at: ~
+ sfSocialGroupUser:
+ columns:
+ group_id: { type: integer, primaryKey: true, required: true,
foreignClass: sfSocialGroup, foreignReference: id, onDelete: cascade, onUpdate:
cascade }
+ user_id: { type: integer, primaryKey: true, required: true,
foreignClass: sfGuardUser, foreignReference: id, onDelete: cascade, onUpdate:
cascade }
+ created_at: ~
- sf_social_message:
- _attributes: { phpName: sfSocialMessage }
- id: ~
- user_from: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- subject: { type: varchar, required: true }
- text: { type: longvarchar, required: true }
- created_at: ~
+ sfSocialMessage:
+ columns:
+ id: ~
+ user_from: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ subject: { type: varchar, required: true }
+ text: { type: longvarchar, required: true }
+ created_at: ~
- sf_social_message_rcpt:
- _attributes: { phpName: sfSocialMessageRcpt }
- id: ~
- msg_id: { type: integer, required: true, foreignTable: sf_social_message,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- user_to: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- is_read: { type: boolean, default: false }
+ sfSocialMessageRcpt:
+ columns:
+ id: ~
+ msg_id: { type: integer, required: true, foreignClass: sfSocialMessage,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ user_to: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ is_read: { type: boolean, default: false }
- sf_social_notify:
- _attributes: { phpName: sfSocialNotify }
- id: ~
- user_id: { type: integer, required: true, foreignTable: sf_guard_user,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
- model_name: { type: varchar, required: true }
- model_id: { type: integer, required: true }
- is_read: { type: boolean, default: false }
- created_at: ~
+ sfSocialNotify:
+ columns:
+ id: ~
+ user_id: { type: integer, required: true, foreignClass: sfGuardUser,
foreignReference: id, onDelete: cascade, onUpdate: cascade }
+ model_name: { type: varchar, required: true }
+ model_id: { type: integer, required: true }
+ is_read: { type: boolean, default: false }
+ created_at: ~
- sf_guard_user_profile:
- _attributes: { phpName: sfGuardUserProfile, package:
plugins.sfGuardPlugin.lib.model }
- id: ~
- user_id: { type: integer, foreignTable: sf_guard_user,
foreignReference: id, required: true, onDelete: cascade }
- email: { type: varchar, required: true }
- first_name: { type: varchar }
- last_name: { type: varchar }
- birthday: { type: date }
- sex: { type: char, size: 1 }
- location: { type: varchar }
- picture: { type: varchar, size: 155 }
+ sfGuardUserProfile:
+ package: plugins.sfGuardPlugin.lib.model
+ columns:
+ id: ~
+ user_id: { type: integer, foreignClass: sfGuardUser,
foreignReference: id, required: true, onDelete: cascade }
+ email: { type: varchar, required: true }
+ first_name: { type: varchar }
+ last_name: { type: varchar }
+ birthday: { type: date }
+ sex: { type: char, size: 1 }
+ location: { type: varchar }
+ picture: { type: varchar }
\ No newline at end of file
Modified: plugins/sfSocialPlugin/trunk/data/fixtures/06_notifies.yml
===================================================================
--- plugins/sfSocialPlugin/trunk/data/fixtures/06_notifies.yml 2010-02-24
18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/data/fixtures/06_notifies.yml 2010-02-24
18:34:03 UTC (rev 28254)
@@ -1,3 +1,12 @@
+<?php
+/* this is needed because of lack of foreign key in sfSocialNotify model */
+$danny = sfGuardUserPeer::retrieveByUsername('danny');
+$anna = sfGuardUserPeer::retrieveByUsername('anna');
+$max = sfGuardUserPeer::retrieveByUsername('max');
+$group4 = sfSocialGroupPeer::retrieveByTitle('webgrrls');
+$crToMax = sfSocialContactRequestPeer::retrieveByUsers($danny, $max);
+$giToMax = sfSocialGroupInvitePeer::retrieveByInvite($group4, $max, $anna);
+?>
sfSocialNotify:
message_to_max:
user_id: max
@@ -6,8 +15,8 @@
request_to_max:
user_id: max
model_name: sfSocialContactRequest
- model_id: 1
+ model_id: <?php echo ($crToMax ? $crToMax->getId() : '0') . PHP_EOL ?>
group_invite_for_max:
user_id: max
model_name: sfSocialGroupInvite
- model_id: 3
\ No newline at end of file
+ model_id: <?php echo ($giToMax ? $giToMax->getId() : '0') . PHP_EOL ?>
\ No newline at end of file
Modified: plugins/sfSocialPlugin/trunk/i18n/sfSocial.it.xml
===================================================================
--- plugins/sfSocialPlugin/trunk/i18n/sfSocial.it.xml 2010-02-24 18:15:43 UTC
(rev 28253)
+++ plugins/sfSocialPlugin/trunk/i18n/sfSocial.it.xml 2010-02-24 18:34:03 UTC
(rev 28254)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xliff PUBLIC "-//XLIFF//DTD XLIFF//EN"
"http://www.oasis-open.org/committees/xliff/documents/xliff.dtd">
<xliff version="1.0">
- <file source-language="EN" target-language="it" datatype="plaintext"
original="messages" date="2009-07-08T15:34:11Z" product-name="messages">
+ <file source-language="en" target-language="it" datatype="plaintext"
original="sfSocial" date="2009-07-08T15:34:11Z" product-name="messages">
<header/>
<body>
<trans-unit>
Modified: plugins/sfSocialPlugin/trunk/lib/form/sfSocialEventUserForm.class.php
===================================================================
--- plugins/sfSocialPlugin/trunk/lib/form/sfSocialEventUserForm.class.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/lib/form/sfSocialEventUserForm.class.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -16,7 +16,7 @@
unset($this['created_at']);
// make "confirm" a choice
- $this->widgetSchema['confirm'] = new sfWidgetFormChoice(array('choices'
=> sfSocial::getI18NChoices(sfSocialEventUserPeer::$confirmChoices),
+ $this->widgetSchema['confirm'] = new sfWidgetFormChoice(array('choices'
=> sfSocialEventUserPeer::$confirmChoices,
'expanded'
=> true));
$this->validatorSchema['confirm'] = new sfValidatorChoice(array('required'
=> false,
'choices'
=> array_keys(sfSocialEventUserPeer::$confirmChoices)));
Modified: plugins/sfSocialPlugin/trunk/lib/form/sfSocialProfileForm.class.php
===================================================================
--- plugins/sfSocialPlugin/trunk/lib/form/sfSocialProfileForm.class.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/lib/form/sfSocialProfileForm.class.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -9,6 +9,15 @@
*/
class sfSocialProfileForm extends sfGuardUserForm
{
+
+ // "sex" choices
+ const SEX_UNKNOWN = '';
+ const SEX_MALE = 'M';
+ const SEX_FEMALE = 'F';
+ static public $sexChoices = array(self::SEX_UNKNOWN => 'Unspecified',
+ self::SEX_MALE => 'Male',
+ self::SEX_FEMALE => 'Female');
+
public function configure()
{
parent::configure();
@@ -20,11 +29,11 @@
$years = range(date('Y'), 1900);
$this->widgetSchema['birthday']->setOption('years', array_combine($years,
$years));
- // make "sex" a choice
+ // make "sex" a choice
$this->widgetSchema['sex'] = new sfWidgetFormChoice(array('expanded' =>
false,
- 'choices' =>
sfSocial::getI18NChoices(sfSocial::$sexChoices)));
+ 'choices' =>
self::$sexChoices));
$this->validatorSchema['sex'] = new sfValidatorChoice(array('required' =>
false,
- 'choices' =>
array_keys(sfSocial::$sexChoices)));
+ 'choices' =>
array_keys(self::$sexChoices)));
// make picture editable
$path = sfConfig::get('app_sf_social_pic_path', '/sf_social_pics/');
Modified: plugins/sfSocialPlugin/trunk/lib/model/sfSocialContactPeer.php
===================================================================
--- plugins/sfSocialPlugin/trunk/lib/model/sfSocialContactPeer.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/lib/model/sfSocialContactPeer.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -109,4 +109,19 @@
return $array;
}
+ /**
+ * get object by from/to users
+ * @param sfGuardUser $from
+ * @param sfGuardUser $to
+ * @return sfSocialContactRequest
+ */
+ public static function retrieveByUsers(sfGuardUser $from, sfGuardUser $to)
+ {
+ $c = new Criteria;
+ $c->add(self::USER_FROM, $from->getId());
+ $c->add(self::USER_TO, $to->getId());
+
+ return self::doSelectOne($c);
+ }
+
}
Modified: plugins/sfSocialPlugin/trunk/lib/model/sfSocialContactRequestPeer.php
===================================================================
--- plugins/sfSocialPlugin/trunk/lib/model/sfSocialContactRequestPeer.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/lib/model/sfSocialContactRequestPeer.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -45,4 +45,20 @@
return $pager;
}
+
+ /**
+ * get object by from/to users
+ * @param sfGuardUser $from
+ * @param sfGuardUser $to
+ * @return sfSocialContactRequest
+ */
+ public static function retrieveByUsers(sfGuardUser $from, sfGuardUser $to)
+ {
+ $c = new Criteria;
+ $c->add(self::USER_FROM, $from->getId());
+ $c->add(self::USER_TO, $to->getId());
+
+ return self::doSelectOne($c);
+ }
+
}
Modified: plugins/sfSocialPlugin/trunk/lib/model/sfSocialEventInvite.php
===================================================================
--- plugins/sfSocialPlugin/trunk/lib/model/sfSocialEventInvite.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/lib/model/sfSocialEventInvite.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -16,7 +16,7 @@
{
return null;
}
- $choices =
sfSocial::getI18NChoices(sfSocialEventUserPeer::$confirmChoices);
+ $choices = sfSocialEventUserPeer::$confirmChoices;
return $choices[$eventUser->getConfirm()];
}
Modified: plugins/sfSocialPlugin/trunk/lib/model/sfSocialEventPeer.php
===================================================================
--- plugins/sfSocialPlugin/trunk/lib/model/sfSocialEventPeer.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/lib/model/sfSocialEventPeer.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -19,7 +19,7 @@
$pager->setPeerMethod('doSelectJoinsfGuardUser');
$pager->setPage($page);
$pager->init();
-
+
return $pager;
}
@@ -43,4 +43,17 @@
return $pager;
}
+ /**
+ * get event by its title (warning: title is NOT unique)
+ * @param string $title
+ * @return sfSocialEvent
+ */
+ public static function retrieveByTitle($title)
+ {
+ $c = new Criteria;
+ $c->add(self::TITLE, $title);
+
+ return self::doSelectOne($c);
+ }
+
}
Modified: plugins/sfSocialPlugin/trunk/lib/model/sfSocialGroupInvitePeer.php
===================================================================
--- plugins/sfSocialPlugin/trunk/lib/model/sfSocialGroupInvitePeer.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/lib/model/sfSocialGroupInvitePeer.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -2,4 +2,21 @@
class sfSocialGroupInvitePeer extends BasesfSocialGroupInvitePeer
{
+ /**
+ * get object by tuple group_id/user_id/user_from
+ * @param sfSocialGroup $group
+ * @param sfGuardUser $to
+ * @param sfGuardUser $from
+ * @return sfSocialGroupInvite
+ */
+ public static function retrieveByInvite(sfSocialGroup $group, sfGuardUser
$to, sfGuardUser $from)
+ {
+ $c = new Criteria;
+ $c->add(self::GROUP_ID, $group->getId());
+ $c->add(self::USER_ID, $to->getId());
+ $c->add(self::USER_FROM, $from->getId());
+
+
+ return self::doSelectOne($c);
+ }
}
Modified: plugins/sfSocialPlugin/trunk/lib/model/sfSocialGroupPeer.php
===================================================================
--- plugins/sfSocialPlugin/trunk/lib/model/sfSocialGroupPeer.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/lib/model/sfSocialGroupPeer.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -17,8 +17,21 @@
$pager->setPeerMethod('doSelectJoinsfGuardUser');
$pager->setPage($page);
$pager->init();
-
+
return $pager;
}
+ /**
+ * get group by its title
+ * @param string $title
+ * @return sfSocialGroup
+ */
+ public static function retrieveByTitle($title)
+ {
+ $c = new Criteria;
+ $c->add(self::TITLE, $title);
+
+ return self::doSelectOne($c);
+ }
+
}
Modified: plugins/sfSocialPlugin/trunk/lib/sfSocial.class.php
===================================================================
--- plugins/sfSocialPlugin/trunk/lib/sfSocial.class.php 2010-02-24 18:15:43 UTC
(rev 28253)
+++ plugins/sfSocialPlugin/trunk/lib/sfSocial.class.php 2010-02-24 18:34:03 UTC
(rev 28254)
@@ -10,36 +10,6 @@
class sfSocial
{
- // sex choices
- const SEX_UNSPECIFIED = '';
- const SEX_MALE = 'M';
- const SEX_FEMALE = 'F';
-
- static public $sexChoices = array(self::SEX_UNSPECIFIED => 'Unspecified',
- self::SEX_MALE => 'Male',
- self::SEX_FEMALE => 'Female');
- /**
- * Get the I18n array of choices from the one
- * given in parameter, if i18n enabled.
- * @param array $choices An array instance of choices
- */
- static public function getI18NChoices(array $choices)
- {
- if (sfConfig::get('sf_i18n'))
- {
- // make confirm a choice (i18n solution is very ugly, is there a better
way? TODO)
- $i18n = sfContext::getInstance()->getI18N();
- foreach ($choices as $k => $choice)
- {
- $i18nChoices[$k] = $i18n->__($choice, null, 'sfSocial');
- }
- return $i18nChoices;
- }
- else
- {
- return $choices;
- }
- }
}
Modified:
plugins/sfSocialPlugin/trunk/modules/sfSocialGroup/templates/viewSuccess.php
===================================================================
---
plugins/sfSocialPlugin/trunk/modules/sfSocialGroup/templates/viewSuccess.php
2010-02-24 18:15:43 UTC (rev 28253)
+++
plugins/sfSocialPlugin/trunk/modules/sfSocialGroup/templates/viewSuccess.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -35,6 +35,7 @@
<?php if ($group->isMember($_user)): ?>
<h3><?php echo __('Invite', null, 'sfSocial') ?>:</h3>
<div id="group_invite">
+ <?php if (isset($form['user_id'])): ?>
<form id="invites" action="<?php echo url_for('@sf_social_group_invite?id='
. $group->getId()) ?>" method="post">
<?php echo $form['user_id']->renderError() ?>
<?php echo $form['user_id']->renderLabel() ?>
@@ -44,6 +45,9 @@
<input type="hidden" id="ajax_search" value="<?php echo
url_for('@sf_social_contact_search') ?>" />
<input type="hidden" id="remove_text" value="<?php echo __('remove', null,
'sfSocial') ?>" />
</form>
+ <?php else: ?>
+ <?php echo __('You can\'t invite any other user') ?>
+ <?php endif ?>
</div>
<?php endif ?>
Modified: plugins/sfSocialPlugin/trunk/test/bootstrap/functional.php
===================================================================
--- plugins/sfSocialPlugin/trunk/test/bootstrap/functional.php 2010-02-24
18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/test/bootstrap/functional.php 2010-02-24
18:34:03 UTC (rev 28254)
@@ -13,25 +13,7 @@
// remove all cache
sfToolkit::clearDirectory(sfConfig::get('sf_app_cache_dir'));
-// clear fixture data
-new
sfDatabaseManager(ProjectConfiguration::getApplicationConfiguration('frontend',
'test', true));
-
-$tables = array('sf_social' => array('contact', 'contact_group',
'contact_group_contact',
- 'contact_request', 'event', 'event_invite',
- 'event_user', 'group', 'group_invite', 'group_user',
- 'message', 'message_rcpt', 'notify'),
- 'sf_guard' => array('group', 'group_permission', 'permission',
'user',
- 'user_group', 'user_permission'));
-$con = Propel::getConnection();
-foreach ($tables as $plugin => $table)
-{
- foreach ($table as $model)
- {
- $stmt = $con->prepare('TRUNCATE TABLE ' . $plugin . '_' . $model);
- $stmt->execute();
- }
-}
-
-// re-import fixture data
+// import fixture data
+#new
sfDatabaseManager(ProjectConfiguration::getApplicationConfiguration('frontend',
'test', true));
$data = new sfPropelData();
$data->loadData(dirname(__FILE__) . '/../../data/fixtures');
\ No newline at end of file
Modified: plugins/sfSocialPlugin/trunk/test/functional/runAll.sh
===================================================================
--- plugins/sfSocialPlugin/trunk/test/functional/runAll.sh 2010-02-24
18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/test/functional/runAll.sh 2010-02-24
18:34:03 UTC (rev 28254)
@@ -1,5 +1,6 @@
#!/bin/sh
# shell script to execute all functional tests
+# for older symfony versions (< 1.3)
for i in `ls *.php`;
do
Modified:
plugins/sfSocialPlugin/trunk/test/functional/sfSocialContactActionsTest.php
===================================================================
--- plugins/sfSocialPlugin/trunk/test/functional/sfSocialContactActionsTest.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/test/functional/sfSocialContactActionsTest.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -6,6 +6,15 @@
$browser->setTester('propel', 'sfTesterPropel');
+$john = sfGuardUserPeer::retrieveByUsername('john');
+$danny = sfGuardUserPeer::retrieveByUsername('danny');
+$anna = sfGuardUserPeer::retrieveByUsername('anna');
+$julie = sfGuardUserPeer::retrieveByUsername('julie');
+$max = sfGuardUserPeer::retrieveByUsername('max');
+$contact1 = sfSocialContactPeer::retrieveByUsers($anna, $julie);
+$request1 = sfSocialContactRequestPeer::retrieveByUsers($danny, $max);
+$request4 = sfSocialContactRequestPeer::retrieveByUsers($john, $anna);
+
$browser->
doLogin()->
@@ -36,17 +45,16 @@
isParameter('action', 'sendrequest')->
end()->
click('send', array('sf_social_contact_request' => array(
- 'user_to' => 6,
+ 'user_to' => $anna->getId(),
'message' => 'can I be you friend?'
)))->
- with('form')->begin()->hasErrors(false)->
- end()->
+ with('form')->hasErrors(false)->
with('propel')->begin()->
check('sfSocialContactRequest', array(
- 'user_from' => 8,
- 'user_to' => 6,
- 'accepted' => 0,
- ))->
+ 'user_from' => $max->getId(),
+ 'user_to' => $anna->getId(),
+ 'accepted' => false,
+ ))->
end()->
info('list of received requests')->
@@ -65,16 +73,14 @@
with('response')->isRedirected()->followRedirect()->
with('propel')->begin()->
check('sfSocialContactRequest', array(
- 'user_from' => 1,
- 'user_to' => 8,
- 'accepted' => 1,
- ))->
- end()->
- with('propel')->begin()->
+ 'user_from' => $john->getId(),
+ 'user_to' => $max->getId(),
+ 'accepted' => true,
+ ))->
check('sfSocialContact', array(
- 'user_from' => 8,
- 'user_to' => 1,
- ))->
+ 'user_from' => $max->getId(),
+ 'user_to' => $john->getId(),
+ ))->
end()->
info('deny a request')->
@@ -86,15 +92,13 @@
with('response')->isRedirected()->followRedirect()->
with('propel')->begin()->
check('sfSocialContactRequest', array(
- 'user_from' => 3,
- 'user_to' => 8,
- ), false)->
- end()->
- with('propel')->begin()->
+ 'user_from' => $danny->getId(),
+ 'user_to' => $max->getId(),
+ ), false)->
check('sfSocialContact', array(
- 'user_from' => 8,
- 'user_to' => 3,
- ), false)->
+ 'user_from' => $max->getId(),
+ 'user_to' => $danny->getId(),
+ ), false)->
end()->
info('list of sent requests')->
@@ -113,25 +117,25 @@
with('response')->isRedirected()->followRedirect()->
with('propel')->begin()->
check('sfSocialContactRequest', array(
- 'user_from' => 8,
- 'user_to' => 6,
- ), false)->
+ 'user_from' => $max->getId(),
+ 'user_to' => $anna->getId(),
+ ), false)->
end()->
info('unauthorized contact removing')->
- get('/contact/delete/1')->
+ get('/contact/delete/' . $contact1->getId())->
with('response')->begin()->
isStatusCode(403)->
end()->
info('unauthorized request accepting')->
- get('/request/accept/4')->
+ get('/request/accept/' . $request4->getId())->
with('response')->begin()->
isStatusCode(403)->
end()->
info('unauthorized request denying')->
- get('/request/deny/4')->
+ get('/request/deny/' . $request4->getId())->
with('response')->begin()->
isStatusCode(403)->
Modified:
plugins/sfSocialPlugin/trunk/test/functional/sfSocialEventActionsTest.php
===================================================================
--- plugins/sfSocialPlugin/trunk/test/functional/sfSocialEventActionsTest.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/test/functional/sfSocialEventActionsTest.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -6,6 +6,13 @@
$browser->setTester('propel', 'sfTesterPropel');
+$mike = sfGuardUserPeer::retrieveByUsername('mike');
+$luigi = sfGuardUserPeer::retrieveByUsername('luigi');
+$max = sfGuardUserPeer::retrieveByUsername('max');
+$event1 = sfSocialEventPeer::retrieveByTitle('let\'s party!');
+$event2 = sfSocialEventPeer::retrieveByTitle('I love pizza');
+$event4 = sfSocialEventPeer::retrieveByTitle('End of the world');
+
$browser->
doLogin()->
@@ -25,18 +32,18 @@
info('single event')->
click('End of the world')->
- with('request')->begin()->
+ with('request')->begin()->
isParameter('module', 'sfSocialEvent')->
isParameter('action', 'view')->
end()->
- with('response')->begin()->
+ with('response')->begin()->
checkElement('body h2', '/Event "End of the world"/')->
checkElement('a[href$="/events"]', '/Back to list/')->
end()->
info('edit event')->
click('Edit event')->
- with('request')->begin()->
+ with('request')->begin()->
isParameter('module', 'sfSocialEvent')->
isParameter('action', 'edit')->
end()->
@@ -45,7 +52,8 @@
'description' => '',
'location' => '',
)))->
- with('form')->begin()->hasErrors(3)->
+ with('form')->begin()->
+ hasErrors(3)->
isError('title', 'required')->
isError('description', 'required')->
isError('location', 'required')->
@@ -55,14 +63,13 @@
'description' => 'I\'m a believer',
'location' => 'Earth',
)))->
- with('form')->begin()->hasErrors(false)->
- end()->
+ with('form')->hasErrors(false)->
with('propel')->begin()->
check('sfSocialEvent', array(
'title' => 'No more end!',
'description' => 'I\'m a believer',
'location' => 'Earth',
- ))->
+ ))->
end()->
info('confirm event')->
@@ -80,35 +87,35 @@
info('invite friend')->
click('invite', array('sf_social_event_invite' => array(
- 'user_id' => 5,
+ 'user_id' => $luigi->getId(),
)))->
with('form')->begin()->hasErrors(false)->
end()->
with('propel')->begin()->
check('sfSocialEventInvite', array(
- 'event_id' => 4,
- 'user_id' => 5,
- 'user_from' => 8,
+ 'event_id' => $event4->getId(),
+ 'user_id' => $luigi->getId(),
+ 'user_from' => $max->getId(),
'replied' => false,
- ))->
+ ))->
end()->
- followRedirect()->
- with('response')->begin()->
+ with('response')->isRedirected()->followRedirect()->
+ with('response')->begin()->
checkElement('ul#invited li', true)->
end()->
info('invite an user that already confirmed')->
- get('/event/1')->
+ get('/event/' . $event1->getId())->
click('invite', array('sf_social_event_invite' => array(
- 'user_id' => 2,
+ 'user_id' => $mike->getId(),
)))->
with('propel')->begin()->
check('sfSocialEventInvite', array(
- 'event_id' => 1,
- 'user_id' => 2,
- 'user_from' => 8,
+ 'event_id' => $event1->getId(),
+ 'user_id' => $mike->getId(),
+ 'user_from' => $max->getId(),
'replied' => false,
- ), false)->
+ ), false)->
end()->
info('create a new event')->
@@ -122,7 +129,8 @@
'description' => '',
'location' => '',
)))->
- with('form')->begin()->hasErrors(3)->
+ with('form')->begin()->
+ hasErrors(3)->
isError('title', 'required')->
isError('description', 'required')->
isError('location', 'required')->
@@ -139,11 +147,11 @@
'title' => 'A new event',
'description' => 'What about a new event?',
'location' => 'Just here!',
- ))->
+ ))->
end()->
info('check various invite replies')->
- get('/event/1')->
+ get('/event/' . $event1->getId())->
with('response')->begin()->
checkElement('ul#confirmed li', 1)->
checkElement('ul#maybe li', 1)->
@@ -152,13 +160,13 @@
end()->
info('past event')->
- get('/event/1')->
- with('response')->begin()->
+ get('/event/' . $event1->getId())->
+ with('response')->begin()->
checkElement('a[href$="/pastevents"]', '/Back to list/')->
end()->
info('edit forbidden event')->
- get('/event/2/edit')->
+ get('/event/' . $event2->getId() . '/edit')->
with('response')->begin()->
isStatusCode(403)->
end()
Modified:
plugins/sfSocialPlugin/trunk/test/functional/sfSocialGroupActionsTest.php
===================================================================
--- plugins/sfSocialPlugin/trunk/test/functional/sfSocialGroupActionsTest.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/test/functional/sfSocialGroupActionsTest.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -6,6 +6,18 @@
$browser->setTester('propel', 'sfTesterPropel');
+$john = sfGuardUserPeer::retrieveByUsername('john');
+$mike = sfGuardUserPeer::retrieveByUsername('mike');
+$danny = sfGuardUserPeer::retrieveByUsername('danny');
+$mario = sfGuardUserPeer::retrieveByUsername('mario');
+$anna = sfGuardUserPeer::retrieveByUsername('anna');
+$max = sfGuardUserPeer::retrieveByUsername('max');
+$group1 = sfSocialGroupPeer::retrieveByTitle('we are all dummies');
+$group4 = sfSocialGroupPeer::retrieveByTitle('webgrrls');
+$group5 = sfSocialGroupPeer::retrieveByTitle('a group for web creatives');
+$group6 = sfSocialGroupPeer::retrieveByTitle('mensa members');
+$invite4 = sfSocialGroupInvitePeer::retrieveByInvite($group4, $max, $anna);
+
$browser->
doLogin()->
@@ -24,17 +36,17 @@
info('single group')->
click('we are all dummies')->
- with('request')->begin()->
+ with('request')->begin()->
isParameter('module', 'sfSocialGroup')->
isParameter('action', 'view')->
end()->
- with('response')->begin()->
+ with('response')->begin()->
checkElement('body h2', '/Group "we are all dummies"/')->
end()->
info('edit a group')->
click('Edit group')->
- with('request')->begin()->
+ with('request')->begin()->
isParameter('module', 'sfSocialGroup')->
isParameter('action', 'edit')->
end()->
@@ -59,7 +71,7 @@
check('sfSocialGroup', array(
'title' => 'We rulez',
'description' => 'Now we are the masterers!',
- ))->
+ ))->
end()->
info('create a new group')->
@@ -72,7 +84,8 @@
'title' => '',
'description' => '',
)))->
- with('form')->begin()->hasErrors(2)->
+ with('form')->begin()->
+ hasErrors(2)->
isError('title', 'required')->
isError('description', 'required')->
end()->
@@ -80,52 +93,50 @@
'title' => 'A new group',
'description' => 'What about a new group?',
)))->
- with('form')->begin()->hasErrors(false)->
- end()->
+ with('form')->hasErrors(false)->
with('propel')->begin()->
check('sfSocialGroup', array(
'title' => 'A new group',
'description' => 'What about a new group?',
- 'user_admin' => 8,
+ 'user_admin' => $max->getId(),
))->
end()->
with('propel')->begin()->
check('sfSocialGroupUser', array(
- 'group_id' => 7,
- 'user_id' => 8,
+ 'group_id' => $group6->getId() + 1,
+ 'user_id' => $max->getId(),
))->
end()->
info('invite users to join group')->
- get('/group/1')->
+ get('/group/' . $group1->getId())->
click('invite', array('sf_social_group_invite' => array(
- 'user_id' => array(1, 2, 3),
+ 'user_id' => array($john->getId(), $mike->getId(), $danny->getId()),
)))->
- with('form')->begin()->hasErrors(false)->
- end()->
+ with('form')->hasErrors(false)->
with('propel')->begin()->
check('sfSocialGroupInvite', array(
- 'group_id' => 1,
+ 'group_id' => $group1->getId(),
'replied' => false,
- ), 4)->
+ ), 4)->
end()->
info('invite an user that already confirmed')->
- get('/group/1')->
+ get('/group/' . $group1->getId())->
click('invite', array('sf_social_group_invite' => array(
- 'user_id' => 4,
+ 'user_id' => $mario->getId(),
)))->
with('propel')->begin()->
check('sfSocialGroupInvite', array(
- 'group_id' => 1,
- 'user_id' => 4,
- 'user_from' => 8,
+ 'group_id' => $group1->getId(),
+ 'user_id' => $mario->getId(),
+ 'user_from' => $max->getId(),
'replied' => false,
- ), false)->
+ ), false)->
end()->
info('join a group directly')->
- get('/group/6')->
+ get('/group/' . $group6->getId())->
click('Join this group')->
with('request')->begin()->
isParameter('module', 'sfSocialGroup')->
@@ -133,13 +144,13 @@
end()->
with('propel')->begin()->
check('sfSocialGroupUser', array(
- 'group_id' => 6,
- 'user_id' => 8,
- ))->
+ 'group_id' => $group6->getId(),
+ 'user_id' => $max->getId(),
+ ))->
end()->
info('join a group accepting an invite')->
- get('/group/4')->
+ get('/group/' . $group4->getId())->
click('Accept invite')->
with('request')->begin()->
isParameter('module', 'sfSocialGroup')->
@@ -147,32 +158,30 @@
end()->
with('propel')->begin()->
check('sfSocialGroupUser', array(
- 'group_id' => 4,
- 'user_id' => 8,
- ))->
+ 'group_id' => $group4->getId(),
+ 'user_id' => $max->getId(),
+ ))->
end()->
info('refuse an invite')->
- get('/group/4/deny')->
+ get('/group/' . $group4->getId() . '/deny')->
with('request')->begin()->
isParameter('module', 'sfSocialGroup')->
isParameter('action', 'deny')->
end()->
with('propel')->begin()->
check('sfSocialGroupUser', array(
- 'group_id' => 5,
- 'user_id' => 8,
- ), false)->
- end()->
- with('propel')->begin()->
+ 'group_id' => $group5->getId(),
+ 'user_id' => $max->getId(),
+ ), false)->
check('sfSocialGroupInvite', array(
- 'id' => 4,
- 'replied'=> true,
- ))->
+ 'id' => $invite4->getId(),
+ 'replied' => true,
+ ))->
end()->
info('edit forbidden group')->
- get('/group/4/edit')->
+ get('/group/' . $group4->getId() . '/edit')->
with('response')->begin()->
isStatusCode(403)->
end()
Modified:
plugins/sfSocialPlugin/trunk/test/functional/sfSocialMessageActionsTest.php
===================================================================
--- plugins/sfSocialPlugin/trunk/test/functional/sfSocialMessageActionsTest.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/test/functional/sfSocialMessageActionsTest.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -6,6 +6,16 @@
$browser->setTester('propel', 'sfTesterPropel');
+$john = sfGuardUserPeer::retrieveByUsername('john');
+$mike = sfGuardUserPeer::retrieveByUsername('mike');
+$danny = sfGuardUserPeer::retrieveByUsername('danny');
+$anna = sfGuardUserPeer::retrieveByUsername('anna');
+$max = sfGuardUserPeer::retrieveByUsername('max');
+
+$c = new Criteria;
+$c->addDescendingOrderByColumn(sfSocialMessagePeer::CREATED_AT);
+$lastMessage = sfSocialMessagePeer::doSelectOne($c);
+
$browser->
doLogin()->
@@ -41,7 +51,7 @@
click('Reply')->
with('response')->begin()->
checkElement('input[name="sf_social_message[subject]"][value="Re: hello
pal"]', true)->
- checkElement('select#sf_social_message_to >
option[value="3"][selected="selected"]', true)->
+ checkElement('select#sf_social_message_to > option[value="' .
$danny->getId() . '"][selected="selected"]', true)->
end()->
click('cancel')
@@ -66,7 +76,8 @@
'text' => '',
'to' => array(),
)))->
- with('form')->begin()->hasErrors(3)->
+ with('form')->begin()->
+ hasErrors(3)->
isError('subject', 'required')->
isError('text', 'required')->
isError('to', 'required')->
@@ -74,36 +85,32 @@
click('send', array('sf_social_message' => array(
'subject' => 'a message from functional test',
'text' => 'TDD rulez! I found a lot of bugs doing these nice tests.',
- 'to' => array(1, 2),
+ 'to' => array($john->getId(), $mike->getId()),
)))->
with('form')->begin()->hasErrors(false)->
end()->
with('propel')->begin()->
check('sfSocialMessage', array(
- 'user_from' => 8,
+ 'user_from' => $max->getId(),
'subject' => 'a message from functional test',
'text' => 'TDD rulez! I found a lot of bugs doing these nice
tests.',
- ))->
- end()->
- with('propel')->begin()->
+ ))->
check('sfSocialMessageRcpt', array(
- 'msg_id' => 7,
- 'user_to' => 1,
- 'is_read' => 0,
- ))->
- end()->
- with('propel')->begin()->
+ 'msg_id' => $lastMessage->getId() + 1,
+ 'user_to' => $john->getId(),
+ 'is_read' => false,
+ ))->
check('sfSocialMessageRcpt', array(
- 'msg_id' => 7,
- 'user_to' => 2,
- 'is_read' => 0,
- ))->
+ 'msg_id' => $lastMessage->getId() + 1,
+ 'user_to' => $mike->getId(),
+ 'is_read' => false,
+ ))->
end()->
info('compose a message for a specific recipient')->
get('/message/compose/to/anna')->
with('response')->begin()->
- checkElement('select#sf_social_message_to >
option[value="6"][selected="selected"]', true)->
+ checkElement('select#sf_social_message_to > option[value="' .
$anna->getId() . '"][selected="selected"]', true)->
end()->
info('sent messages')->
Modified:
plugins/sfSocialPlugin/trunk/test/functional/sfSocialNotifyActionsTest.php
===================================================================
--- plugins/sfSocialPlugin/trunk/test/functional/sfSocialNotifyActionsTest.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/test/functional/sfSocialNotifyActionsTest.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -6,6 +6,29 @@
$browser->setTester('propel', 'sfTesterPropel');
+$john = sfGuardUserPeer::retrieveByUsername('john');
+$mike = sfGuardUserPeer::retrieveByUsername('mike');
+$luigi = sfGuardUserPeer::retrieveByUsername('luigi');
+$max = sfGuardUserPeer::retrieveByUsername('max');
+$event1 = sfSocialEventPeer::retrieveByTitle('let\'s party!');
+$group1 = sfSocialGroupPeer::retrieveByTitle('we are all dummies');
+
+$c = new Criteria;
+$c->addDescendingOrderByColumn(sfSocialMessagePeer::ID);
+$lastMessage = sfSocialMessagePeer::doSelectOne($c);
+
+$c = new Criteria;
+$c->addDescendingOrderByColumn(sfSocialContactRequestPeer::ID);
+$lastContactRequest = sfSocialContactRequestPeer::doSelectOne($c);
+
+$c = new Criteria;
+$c->addDescendingOrderByColumn(sfSocialEventInvitePeer::ID);
+$lastEventInvite = sfSocialEventInvitePeer::doSelectOne($c);
+
+$c = new Criteria;
+$c->addDescendingOrderByColumn(sfSocialGroupInvitePeer::ID);
+$lastGroupInvite = sfSocialGroupInvitePeer::doSelectOne($c);
+
$browser->
doLogin()->
@@ -15,23 +38,21 @@
click('send', array('sf_social_message' => array(
'subject' => 'hello',
'text' => 'just a test',
- 'to' => array(1, 2),
+ 'to' => array($john->getId(), $mike->getId()),
)))->
with('form')->begin()->hasErrors(false)->
end()->
with('propel')->begin()->
check('sfSocialNotify', array(
- 'user_id' => 1,
+ 'user_id' => $john->getId(),
'model_name' => 'sfSocialMessage',
- 'model_id' => 7,
+ 'model_id' => $lastMessage->getId() + 1,
'is_read' => false,
- ))->
- end()->
- with('propel')->begin()->
+ ))->
check('sfSocialNotify', array(
- 'user_id' => 2,
+ 'user_id' => $mike->getId(),
'model_name' => 'sfSocialMessage',
- 'model_id' => 7,
+ 'model_id' => $lastMessage->getId() + 1,
'is_read' => false,
))->
end()->
@@ -39,64 +60,59 @@
info('notify a contact request')->
get('/request/send')->
click('send', array('sf_social_contact_request' => array(
- 'user_to' => 1,
+ 'user_to' => $john->getId(),
'message' => 'just a test'
)))->
- with('form')->begin()->hasErrors(false)->
- end()->
+ with('form')->hasErrors(false)->
with('propel')->begin()->
check('sfSocialNotify', array(
- 'user_id' => 1,
+ 'user_id' => $john->getId(),
'model_name' => 'sfSocialContactRequest',
- 'model_id' => 5,
+ 'model_id' => $lastContactRequest->getId() + 1,
'is_read' => false,
- ))->
+ ))->
end()->
- info('notify a group invite')->
- get('/group/1')->
+ info('notify a group invite ' . $lastGroupInvite->getId())->
+ get('/group/' . $group1->getId())->
click('invite', array('sf_social_group_invite' => array(
- 'user_id' => array(1, 2),
+ 'user_id' => array($john->getId(), $mike->getId()),
)))->
with('form')->begin()->hasErrors(false)->
end()->
with('propel')->begin()->
check('sfSocialNotify', array(
- 'user_id' => 1,
+ 'user_id' => $john->getId(),
'model_name' => 'sfSocialGroupInvite',
- 'model_id' => 5,
+ 'model_id' => $lastGroupInvite->getId() + 1,
'is_read' => false,
- ))->
- end()->
- with('propel')->begin()->
+ ))->
check('sfSocialNotify', array(
- 'user_id' => 2,
+ 'user_id' => $mike->getId(),
'model_name' => 'sfSocialGroupInvite',
- 'model_id' => 6,
+ 'model_id' => $lastGroupInvite->getId() + 2,
'is_read' => false,
- ))->
+ ))->
end()->
info('notify an event invite')->
- get('/event/1')->
+ get('/event/' . $event1->getId())->
click('invite', array('sf_social_event_invite' => array(
- 'user_id' => array(1, 5),
+ 'user_id' => array($john->getId(), $luigi->getId()),
)))->
with('form')->begin()->hasErrors(false)->
end()->
with('propel')->begin()->
check('sfSocialNotify', array(
- 'user_id' => 1,
+ 'user_id' => $john->getId(),
'model_name' => 'sfSocialEventInvite',
- 'model_id' => 4,
+ 'model_id' => $lastEventInvite->getId() + 1,
'is_read' => false,
- ))->
- end()->
- with('propel')->begin()->
+ ))->
check('sfSocialNotify', array(
- 'user_id' => 5,
+ 'user_id' => $luigi->getId(),
'model_name' => 'sfSocialEventInvite',
- 'model_id' => 5,
+ 'model_id' => $lastEventInvite->getId() + 2,
'is_read' => false,
))->
end()->
@@ -115,14 +131,13 @@
end()->
with('propel')->begin()->
check('sfSocialNotify', array(
- 'user_id' => 8,
+ 'user_id' => $max->getId(),
'model_name' => 'sfSocialMessage',
- 'model_id' => 3,
'is_read' => true,
- ))->
+ ))->
end()->
- info('click on notify of request')->
+ info('click on notify of contact request')->
get('/')->
click('contact request')->
with('request')->begin()->
@@ -136,14 +151,13 @@
end()->
with('propel')->begin()->
check('sfSocialNotify', array(
- 'user_id' => 8,
+ 'user_id' => $max->getId(),
'model_name' => 'sfSocialContactRequest',
- 'model_id' => 1,
'is_read' => true,
- ))->
+ ))->
end()->
- info('click on notify of invite')->
+ info('click on notify of group invite')->
get('/')->
click('invite to join group webgrrls')->
with('request')->begin()->
@@ -157,12 +171,11 @@
end()->
with('propel')->begin()->
check('sfSocialNotify', array(
- 'user_id' => 8,
+ 'user_id' => $max->getId(),
'model_name' => 'sfSocialGroupInvite',
- 'model_id' => 3,
+ #'model_id' => 3,
'is_read' => true,
- ))->
+ ))->
-
end()
-;
+;
\ No newline at end of file
Modified:
plugins/sfSocialPlugin/trunk/test/functional/sfSocialUserActionsTest.php
===================================================================
--- plugins/sfSocialPlugin/trunk/test/functional/sfSocialUserActionsTest.php
2010-02-24 18:15:43 UTC (rev 28253)
+++ plugins/sfSocialPlugin/trunk/test/functional/sfSocialUserActionsTest.php
2010-02-24 18:34:03 UTC (rev 28254)
@@ -6,6 +6,8 @@
$browser->setTester('propel', 'sfTesterPropel');
+$max = sfGuardUserPeer::retrieveByUsername('max');
+
$browser->
doLogin()->
@@ -42,7 +44,8 @@
'sex' => 'Z',
'picture' => dirname(__FILE__) . '/../fixtures/image_too_big.png',
)))->
- with('form')->begin()->hasErrors(4)->
+ with('form')->begin()->
+ hasErrors(4)->
isError('password', 'invalid')->
isError('birthday', 'invalid')->
isError('sex', 'invalid')->
@@ -55,17 +58,16 @@
'location' => 'Rome',
'picture' => dirname(__FILE__) . '/../fixtures/image_ok.png',
)))->
- with('form')->begin()->hasErrors(false)->
- end()->
+ with('form')->hasErrors(false)->
with('propel')->begin()->
check('sfGuardUserProfile', array(
- 'user_id' => 8,
+ 'user_id' => $max->getId(),
'first_name' => 'Massimiliano',
'birthday' => '1974-04-01',
'sex' => 'M',
'location' => 'Rome',
'picture' => 'max.png',
- ))->
+ ))->
end()->
info('profile of one of your contacts')->
@@ -103,6 +105,6 @@
get('/user/danny/edit')->
with('response')->begin()->
isStatusCode(403)->
+
end()
-
;
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" 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/symfony-svn?hl=en.