-
Notifications
You must be signed in to change notification settings - Fork 5
/
typeMappingPropelTest.php
96 lines (83 loc) · 2.32 KB
/
typeMappingPropelTest.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
86
87
88
89
90
91
92
93
94
95
96
<?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 = 'projectWithPropel';
$app = 'main';
$env = 'soap';
$debug = true;
include(dirname(__FILE__).'/../bootstrap/functional.php');
$configuration->initializePropel($app);
$configuration->loadFixtures('fixtures/model.yml');
class myArticle
{
public
$id,
$title,
$content,
$ArticleComments,
$ArticleAuthors;
}
class myArticleComment
{
public
$id,
$author,
$content,
$Article;
}
class myArticleAuthor
{
public
$Article,
$Author;
}
class myAuthor
{
public
$id,
$name,
$ArticleAuthors;
}
function checkFixtureModel(ckTestSoapClient $c)
{
$c->getFixtureModel()
->isFaultEmpty()
->isCount('', 2)
->isType('', 'ckGenericArray')
->isType('0', 'myArticle')
->isType('0.ArticleAuthors', 'ckGenericArray')
->isCount('0.ArticleAuthors', 1)
->isType('0.ArticleAuthors.0', 'myArticleAuthor')
->isType('0.ArticleAuthors.0.Author', 'myAuthor')
->isType('0.ArticleComments', 'ckGenericArray')
->isCount('0.ArticleComments', 2)
->isType('0.ArticleComments.0', 'myArticleComment')
;
$result = $c->getResult();
$t = $c->test();
$t->cmp_ok($result[0]->ArticleAuthors[0]->Author, '===', $result[1]->ArticleAuthors[0]->Author);
$t->cmp_ok($result[0]->ArticleComments[0]->Article, '===', $result[0]->ArticleComments[1]->Article);
$t->cmp_ok($result[0], '===', $result[0]->ArticleComments[0]->Article);
}
$_options = array(
'classmap' => array(
'Article' => 'myArticle',
'ArticleArray' => 'ckGenericArray',
'Author' => 'myAuthor',
'AuthorArray' => 'ckGenericArray',
'ArticleAuthor' => 'myArticleAuthor',
'ArticleAuthorArray' => 'ckGenericArray',
'ArticleComment' => 'myArticleComment',
'ArticleCommentArray' => 'ckGenericArray'
)
);
$c = new ckTestSoapClient($_options);
checkFixtureModel($c->getFixtureModel());
checkFixtureModel($c->passFixtureModel($c->getResult()));