public function testPrepackage() { $response = <<<EOS \t\t\t<template> \t\t\t\t<guid>a_284964_14csd05aa7a3eb4f248772cd163b60cb17</guid> \t\t\t\t<redirect-token>24d8bb96a9144d319cc32f91e-4-14c05aa7a3eb4f243b60cb17</redirect-token> \t\t\t\t<subject>Sample NDA</subject> \t\t\t\t<message>Please sign this document.</message> \t\t\t\t<filename>disclosure.pdf</filename> \t\t\t\t<type>Document</type> \t\t\t\t<tags>nda</tags> \t\t\t\t<merge-fields> \t\t\t\t\t<merge-field> \t\t\t\t\t\t<page>1</page> \t\t\t\t\t\t<name>Your Name</name> \t\t\t\t\t\t<id>a_2843964_14c05aa7a3e72cd163b60cb17_10152369</id> \t\t\t\t\t</merge-field> \t\t\t\t\t<merge-field> \t\t\t\t\t\t<page>1</page> \t\t\t\t\t\t<name>Your Idea</name> \t\t\t\t\t\t<id>a_2843964_14c05aa7a3dfefd163b60cb17_10152370</id> \t\t\t\t\t</merge-field> \t\t\t\t</merge-fields> \t\t\t\t<roles> \t\t\t\t\t<role> \t\t\t\t\t\t<document-role-id>signer_A</document-role-id> \t\t\t\t\t\t<must-sign>true</must-sign> \t\t\t\t\t\t<is-sender>true</is-sender> \t\t\t\t\t\t<name>Document Sender</name> \t\t\t\t\t</role> \t\t\t\t\t<role> \t\t\t\t\t\t<document-role-id>signer_B</document-role-id> \t\t\t\t\t\t<must-sign>true</must-sign> \t\t\t\t\t\t<is-sender>false</is-sender> \t\t\t\t\t\t<name>Company Officer</name> \t\t\t\t\t</role> \t\t\t\t</roles> \t\t\t\t<content-type>pdf</content-type> \t\t\t\t<created-at>2010-10-10T14:41:08-07:00</created-at> \t\t\t\t<pages> \t\t\t\t\t<page> \t\t\t\t\t\t<page-number>1</page-number> \t\t\t\t\t\t<original-template-guid>a_2824964_14c05aa7ffrrecd163bx0cb17</original-template-guid> \t\t\t\t\t\t<original-template-filename>disclosure.pdf</original-template-filename> \t\t\t\t\t</page> \t\t\t\t</pages> \t\t\t\t<size>57740</size> \t\t\t</template> EOS; $self = $this; $client = \Mockery::mock('client'); $client->shouldReceive('post')->with('/api/templates/1234/prepackage.xml', \Mockery::on(function ($body) use($self) { $self->assertEqualXml('<callback_location>http://example.com/</callback_location>', $body); return true; }))->andReturn($response); $prepackaged = Template::prepackage($client, '1234', 'http://example.com/'); $this->assertEquals('a_284964_14csd05aa7a3eb4f248772cd163b60cb17', $prepackaged->guid); $this->assertEquals('Your Name', $prepackaged->merge_fields[0]->name); $this->assertEquals('true', $prepackaged->roles[0]->is_sender); $this->assertEquals('disclosure.pdf', $prepackaged->pages[0]->original_template_filename); }