-
Notifications
You must be signed in to change notification settings - Fork 5
/
typeMappingDoctrineTest.php
85 lines (73 loc) · 1.95 KB
/
typeMappingDoctrineTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
/**
* This file is part of the ckWebServicePlugin
*
* @package ckWebServicePlugin
* @author Christian Kerl <christian-kerl@web.de>
* @copyright Copyright (c) 2010, Christian Kerl
* @license http://www.opensource.org/licenses/mit-license.php MIT License
* @version SVN: $Id$
*/
$project = 'projectWithDoctrine';
$app = 'main';
$env = 'soap';
$debug = true;
include(dirname(__FILE__).'/../bootstrap/functional.php');
Doctrine::createTablesFromModels(sfConfig::get('sf_lib_dir').'/model/');
Doctrine::loadData(sfConfig::get('sf_data_dir').'/fixtures/');
class myArticle
{
public
$id,
$title,
$content,
$Comments,
$Authors;
}
class myComment
{
public
$id,
$author,
$content,
$Article;
}
class myAuthor
{
public
$id,
$name,
$Articles;
}
function checkFixtureModel(ckTestSoapClient $c)
{
$c->isFaultEmpty()
->isCount('', 2)
->isType('', 'ckGenericArray')
->isType('0', 'myArticle')
->isType('0.Authors', 'ckGenericArray')
->isCount('0.Authors', 1)
->isType('0.Authors.0', 'myAuthor')
->isType('0.Comments', 'ckGenericArray')
->isCount('0.Comments', 2)
->isType('0.Comments.0', 'myComment')
;
$result = $c->getResult();
$t = $c->test();
$t->cmp_ok($result[0]->Authors[0], '===', $result[1]->Authors[0]);
$t->cmp_ok($result[0]->Comments[0]->Article, '===', $result[0]->Comments[1]->Article);
$t->cmp_ok($result[0], '===', $result[0]->Comments[0]->Article);
}
$_options = array(
'classmap' => array(
'Article' => 'myArticle',
'ArticleArray' => 'ckGenericArray',
'Author' => 'myAuthor',
'AuthorArray' => 'ckGenericArray',
'Comment' => 'myComment',
'CommentArray' => 'ckGenericArray'
)
);
$c = new ckTestSoapClient($_options);
checkFixtureModel($c->getFixtureModel());
checkFixtureModel($c->passFixtureModel($c->getResult()));