public function initOrm() { $this->purgeDatabase(); $contact = new Contact(); $contact->setFirstName('Max'); $contact->setLastName('Mustermann'); $contact->setPosition('CEO'); $contact->setFormOfAddress(1); $contact->setSalutation('Sehr geehrter Herr Dr Mustermann'); $this->contact = $contact; $title = new ContactTitle(); $title->setTitle('MSc'); $contact->setTitle($title); $position = new Position(); $position->setPosition('Manager'); $account = new Account(); $account->setLft(0); $account->setRgt(1); $account->setDepth(0); $account->setName('Musterfirma'); $account1 = new Account(); $account1->setLft(0); $account1->setRgt(1); $account1->setDepth(0); $account1->setName('Musterfirma'); $phoneType = new PhoneType(); $phoneType->setName('Private'); $phone = new Phone(); $phone->setPhone('123456789'); $phone->setPhoneType($phoneType); $contact->addPhone($phone); $emailType = new EmailType(); $emailType->setName('Private'); $email = new Email(); $email->setEmail('*****@*****.**'); $email->setEmailType($emailType); $contact->addEmail($email); $faxType = new FaxType(); $faxType->setName('Private'); $this->faxType = $faxType; $fax = new Fax(); $fax->setFax('123654789'); $fax->setFaxType($faxType); $contact->addFax($fax); $country1 = new Country(); $country1->setName('Musterland'); $country1->setCode('ML'); $country2 = new Country(); $country2->setName('United States'); $country2->setCode('US'); $addressType = new AddressType(); $addressType->setName('Private'); $address = new Address(); $address->setStreet('Musterstraße'); $address->setNumber('1'); $address->setZip('0000'); $address->setCity('Musterstadt'); $address->setState('Musterland'); $address->setCountry($country1); $address->setAddressType($addressType); $address->setBillingAddress(true); $address->setPrimaryAddress(true); $address->setDeliveryAddress(false); $address->setPostboxCity('Dornbirn'); $address->setPostboxPostcode('6850'); $address->setPostboxNumber('4711'); $contactAddress = new ContactAddress(); $contactAddress->setAddress($address); $contactAddress->setContact($contact); $contactAddress->setMain(true); $contact->addContactAddress($contactAddress); $address->addContactAddress($contactAddress); $note = new Note(); $note->setValue('Note'); $contact->addNote($note); $this->setUpMediaEntities($contact); $this->em->persist($contact); $this->em->persist($title); $this->em->persist($position); $this->em->persist($account); $this->em->persist($account1); $this->em->persist($phoneType); $this->em->persist($phone); $this->em->persist($faxType); $this->em->persist($fax); $this->em->persist($emailType); $this->em->persist($email); $this->em->persist($country1); $this->em->persist($country2); $this->em->persist($addressType); $this->em->persist($contactAddress); $this->em->persist($address); $this->em->persist($note); $this->em->flush(); }
private function initOrm() { $account = new Account(); $account->setName('Company'); $account->setPlaceOfJurisdiction('Feldkirch'); $parentAccount = new Account(); $parentAccount->setName('Parent'); $parentAccount->setPlaceOfJurisdiction('Feldkirch'); $childAccount = new Account(); $childAccount->setName('Child'); $childAccount->setPlaceOfJurisdiction('Feldkirch'); $childAccount->setParent($parentAccount); $this->account = $account; $this->childAccount = $childAccount; $this->parentAccount = $parentAccount; $urlType = new UrlType(); $urlType->setName('Private'); $this->urlType = $urlType; $url = new Url(); $url->setUrl('http://www.company.example'); $this->url = $url; $url->setUrlType($urlType); $account->addUrl($url); $this->emailType = new EmailType(); $this->emailType->setName('Private'); $this->email = new Email(); $this->email->setEmail('*****@*****.**'); $this->email->setEmailType($this->emailType); $account->addEmail($this->email); $phoneType = new PhoneType(); $phoneType->setName('Private'); $this->phoneType = $phoneType; $phone = new Phone(); $phone->setPhone('123456789'); $phone->setPhoneType($phoneType); $account->addPhone($phone); $faxType = new FaxType(); $faxType->setName('Private'); $this->faxType = $faxType; $fax = new Fax(); $fax->setFax('123654789'); $fax->setFaxType($faxType); $account->addFax($fax); $country = new Country(); $country->setName('Musterland'); $country->setCode('ML'); $this->country = $country; $addressType = new AddressType(); $addressType->setName('Private'); $this->addressType = $addressType; $address = new Address(); $address->setStreet('Musterstraße'); $address->setNumber('1'); $address->setZip('0000'); $address->setCity('Musterstadt'); $address->setState('Musterland'); $address->setCountry($country); $address->setAddition(''); $address->setAddressType($addressType); $address->setBillingAddress(true); $address->setPrimaryAddress(true); $address->setDeliveryAddress(false); $address->setPostboxCity('Dornbirn'); $address->setPostboxPostcode('6850'); $address->setPostboxNumber('4711'); $address->setNote('note'); $this->address = $address; $accountAddress = new AccountAddress(); $accountAddress->setAddress($address); $accountAddress->setAccount($account); $accountAddress->setMain(true); $account->addAccountAddress($accountAddress); $address->addAccountAddress($accountAddress); $contact = new Contact(); $contact->setFirstName('Vorname'); $contact->setLastName('Nachname'); $contact->setMiddleName('Mittelname'); $contact->setFormOfAddress(0); $accountContact = new AccountContact(); $accountContact->setContact($contact); $accountContact->setAccount($account); $accountContact->setMain(true); $account->addAccountContact($accountContact); $note = new Note(); $note->setValue('Note'); $account->addNote($note); $this->initLogo(); $account->setLogo($this->logo); $this->em->persist($account); $this->em->persist($childAccount); $this->em->persist($parentAccount); $this->em->persist($urlType); $this->em->persist($url); $this->em->persist($this->emailType); $this->em->persist($accountContact); $this->em->persist($this->email); $this->em->persist($phoneType); $this->em->persist($phone); $this->em->persist($country); $this->em->persist($addressType); $this->em->persist($address); $this->em->persist($accountAddress); $this->em->persist($note); $this->em->persist($faxType); $this->em->persist($fax); $this->em->persist($contact); $this->em->flush(); }
/** * {@inheritdoc} */ public function load(ObjectManager $manager) { // phone types $metadata = $manager->getClassMetaData(PhoneType::class); $metadata->setIdGenerator(new \Doctrine\ORM\Id\AssignedGenerator()); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $phoneType1 = new PhoneType(); $phoneType1->setId(1); $phoneType1 = $manager->merge($phoneType1); $phoneType1->setName('phone.work'); $phoneType2 = new PhoneType(); $phoneType2->setId(2); $phoneType2 = $manager->merge($phoneType2); $phoneType2->setName('phone.home'); $phoneType3 = new PhoneType(); $phoneType3->setId(3); $phoneType3 = $manager->merge($phoneType3); $phoneType3->setName('phone.mobile'); // email types $metadata = $manager->getClassMetaData(EmailType::class); $metadata->setIdGenerator(new \Doctrine\ORM\Id\AssignedGenerator()); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $emailType1 = new EmailType(); $emailType1->setId(1); $emailType1 = $manager->merge($emailType1); $emailType1->setName('email.work'); $this->addReference('email.type.work', $emailType1); $emailType2 = new EmailType(); $emailType2->setId(2); $emailType2 = $manager->merge($emailType2); $emailType2->setName('email.home'); $this->addReference('email.type.home', $emailType2); // address types $metadata = $manager->getClassMetaData(AddressType::class); $metadata->setIdGenerator(new \Doctrine\ORM\Id\AssignedGenerator()); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $addressType1 = new AddressType(); $addressType1->setId(1); $addressType1 = $manager->merge($addressType1); $addressType1->setName('address.work'); $addressType2 = new AddressType(); $addressType2->setId(2); $addressType2 = $manager->merge($addressType2); $addressType2->setName('address.home'); // url types $metadata = $manager->getClassMetaData(UrlType::class); $metadata->setIdGenerator(new \Doctrine\ORM\Id\AssignedGenerator()); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $urlType1 = new UrlType(); $urlType1->setId(1); $urlType1 = $manager->merge($urlType1); $urlType1->setName('url.work'); $urlType2 = new UrlType(); $urlType2->setId(2); $urlType2 = $manager->merge($urlType2); $urlType2->setName('url.home'); // fax types $metadata = $manager->getClassMetaData(FaxType::class); $metadata->setIdGenerator(new \Doctrine\ORM\Id\AssignedGenerator()); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $faxType1 = new FaxType(); $faxType1->setId(1); $faxType1 = $manager->merge($faxType1); $faxType1->setName('fax.work'); $faxType2 = new FaxType(); $faxType2->setId(2); $faxType2 = $manager->merge($faxType2); $faxType2->setName('fax.home'); $manager->flush(); }
/** * {@inheritDoc} */ public function load(ObjectManager $manager) { $phoneType1 = new PhoneType(); $phoneType1->setId(1); // force id = 1 $metadata = $manager->getClassMetaData(get_class($phoneType1)); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $phoneType1->setName('phone.work'); $manager->persist($phoneType1); $phoneType2 = new PhoneType(); $phoneType2->setId(2); $phoneType2->setName('phone.home'); $manager->persist($phoneType2); $phoneType3 = new PhoneType(); $phoneType3->setId(3); $phoneType3->setName('phone.mobile'); $manager->persist($phoneType3); $emailType1 = new EmailType(); $emailType1->setId(1); // force id = 1 $metadata = $manager->getClassMetaData(get_class($emailType1)); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $emailType1->setName('email.work'); $manager->persist($emailType1); $this->addReference('email.type.work', $emailType1); $emailType2 = new EmailType(); $emailType2->setId(2); $emailType2->setName('email.home'); $manager->persist($emailType2); $this->addReference('email.type.home', $emailType2); $addressType1 = new AddressType(); $addressType1->setId(1); // force id = 1 $metadata = $manager->getClassMetaData(get_class($addressType1)); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $addressType1->setName('address.work'); $manager->persist($addressType1); $addressType2 = new AddressType(); $addressType2->setId(2); $addressType2->setName('address.home'); $manager->persist($addressType2); $urlType1 = new UrlType(); $urlType1->setId(1); // force id = 1 $metadata = $manager->getClassMetaData(get_class($urlType1)); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $urlType1->setName('url.work'); $manager->persist($urlType1); $urlType2 = new UrlType(); $urlType2->setId(2); $urlType2->setName('url.home'); $manager->persist($urlType2); $manager->flush(); $faxType1 = new FaxType(); $faxType1->setId(1); // force id = 1 $metadata = $manager->getClassMetaData(get_class($faxType1)); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $faxType1->setName('fax.work'); $manager->persist($faxType1); $faxType2 = new FaxType(); $faxType2->setId(2); $faxType2->setName('fax.home'); $manager->persist($faxType2); $manager->flush(); }
private function initOrm() { $this->purgeDatabase(); $contact = new Contact(); $contact->setFirstName('Max'); $contact->setLastName('Mustermann'); $contact->setPosition('CEO'); $contact->setFormOfAddress(1); $contact->setSalutation('Sehr geehrter Herr Dr Mustermann'); $contact->setDisabled(0); $this->contact = $contact; $title = new ContactTitle(); $title->setTitle('MSc'); $contact->setTitle($title); $position = new Position(); $position->setPosition('Manager'); $account = new Account(); $account->setLft(0); $account->setRgt(1); $account->setDepth(0); $account->setName('Musterfirma'); $this->account = $account; $account1 = new Account(); $account1->setLft(0); $account1->setRgt(1); $account1->setDepth(0); $account1->setName('Musterfirma'); $this->account1 = $account1; $phoneType = new PhoneType(); $phoneType->setName('Private'); $this->phoneType = $phoneType; $phone = new Phone(); $phone->setPhone('123456789'); $phone->setPhoneType($phoneType); $contact->addPhone($phone); $this->phone = $phone; $emailType = new EmailType(); $emailType->setName('Private'); $this->emailType = $emailType; $email = new Email(); $email->setEmail('*****@*****.**'); $email->setEmailType($emailType); $contact->addEmail($email); $this->email = $email; $faxType = new FaxType(); $faxType->setName('Private'); $this->faxType = $faxType; $fax = new Fax(); $fax->setFax('123654789'); $fax->setFaxType($faxType); $contact->addFax($fax); $this->fax = $fax; $country1 = new Country(); $country1->setName('Musterland'); $country1->setCode('ML'); $this->country = $country1; $country2 = new Country(); $country2->setName('United States'); $country2->setCode('US'); $this->country2 = $country2; $addressType = new AddressType(); $addressType->setName('Private'); $this->addressType = $addressType; $address = new Address(); $address->setStreet('Musterstraße'); $address->setNumber('1'); $address->setZip('0000'); $address->setCity('Musterstadt'); $address->setState('Musterland'); $address->setCountry($country1); $address->setAddressType($addressType); $address->setBillingAddress(true); $address->setPrimaryAddress(true); $address->setDeliveryAddress(false); $address->setPostboxCity('Dornbirn'); $address->setPostboxPostcode('6850'); $address->setPostboxNumber('4711'); $address->setNote('Note'); $this->address = $address; $contactAddress = new ContactAddress(); $contactAddress->setAddress($address); $contactAddress->setContact($contact); $contactAddress->setMain(true); $this->contactAddress = $contactAddress; $contact->addContactAddress($contactAddress); $address->addContactAddress($contactAddress); $note = new Note(); $note->setValue('Note'); $this->note = $note; $contact->addNote($note); $this->em->persist($contact); $this->em->persist($title); $this->em->persist($position); $this->em->persist($account); $this->em->persist($account1); $this->em->persist($phoneType); $this->em->persist($phone); $this->em->persist($faxType); $this->em->persist($fax); $this->em->persist($emailType); $this->em->persist($email); $this->em->persist($country1); $this->em->persist($country2); $this->em->persist($addressType); $this->em->persist($contactAddress); $this->em->persist($address); $this->em->persist($note); /* First Category -------------------------------------*/ $category = new Category(); $category->setKey('first-category-key'); $this->category = $category; // name for first category $categoryTrans = new CategoryTranslation(); $categoryTrans->setLocale('en'); $categoryTrans->setTranslation('First Category'); $categoryTrans->setCategory($category); $category->addTranslation($categoryTrans); // meta for first category $categoryMeta = new CategoryMeta(); $categoryMeta->setLocale('en'); $categoryMeta->setKey('description'); $categoryMeta->setValue('Description of Category'); $categoryMeta->setCategory($category); $category->addMeta($categoryMeta); $this->em->persist($category); /* Second Category -------------------------------------*/ $category2 = new Category(); $category2->setKey('second-category-key'); $this->category2 = $category2; // name for second category $categoryTrans2 = new CategoryTranslation(); $categoryTrans2->setLocale('de'); $categoryTrans2->setTranslation('Second Category'); $categoryTrans2->setCategory($category2); $category2->addTranslation($categoryTrans2); // meta for second category $categoryMeta2 = new CategoryMeta(); $categoryMeta2->setLocale('de'); $categoryMeta2->setKey('description'); $categoryMeta2->setValue('Description of second Category'); $categoryMeta2->setCategory($category2); $category2->addMeta($categoryMeta2); $this->em->persist($category2); $this->em->flush(); $this->contactTitle = $title; $this->contactPosition = $position; }
public function testPutDeleteAndAddWithoutId() { $client = $this->createTestClient(); $client->request('PUT', '/api/contacts/' . $this->contact->getId(), ['firstName' => 'John', 'lastName' => 'Doe', 'title' => $this->contactTitle->getId(), 'position' => ['id' => $this->contactPosition->getId(), 'position' => $this->contactPosition->getPosition()], 'emails' => [['email' => '*****@*****.**', 'emailType' => ['id' => $this->emailType->getId(), 'name' => 'Private']]], 'phones' => [['phone' => '789456123', 'phoneType' => ['id' => $this->phoneType->getId(), 'name' => 'Private']]], 'faxes' => [['fax' => '147258369-1', 'faxType' => ['id' => $this->faxType->getId(), 'name' => 'Private']]], 'addresses' => [['street' => 'Street', 'number' => '2', 'zip' => '9999', 'city' => 'Springfield', 'state' => 'Colorado', 'country' => ['id' => $this->country->getId(), 'name' => 'Musterland', 'code' => 'ML'], 'addressType' => ['id' => $this->addressType->getId(), 'name' => 'Private'], 'billingAddress' => true, 'primaryAddress' => true, 'deliveryAddress' => false, 'postboxCity' => 'Dornbirn', 'postboxPostcode' => '6850', 'postboxNumber' => '4711', 'note' => 'note']], 'notes' => [['value' => 'Note 1_1']], 'salutation' => 'Sehr geehrter John', 'formOfAddress' => ['id' => 0]]); $response = json_decode($client->getResponse()->getContent()); $this->assertEquals('John', $response->firstName); $this->assertEquals('Doe', $response->lastName); $this->assertEquals('MSc', $response->title->title); $this->assertEquals('*****@*****.**', $response->emails[0]->email); $this->assertEquals('789456123', $response->phones[0]->phone); $this->assertEquals('147258369-1', $response->faxes[0]->fax); $this->assertEquals('Street', $response->addresses[0]->street); $this->assertEquals('2', $response->addresses[0]->number); $this->assertEquals('9999', $response->addresses[0]->zip); $this->assertEquals('Springfield', $response->addresses[0]->city); $this->assertEquals('Colorado', $response->addresses[0]->state); $this->assertEquals('Note 1_1', $response->notes[0]->value); $this->assertEquals('note', $response->addresses[0]->note); $this->assertEquals(1, count($response->notes)); $this->assertEquals(true, $response->addresses[0]->billingAddress); $this->assertEquals(true, $response->addresses[0]->primaryAddress); $this->assertEquals(false, $response->addresses[0]->deliveryAddress); $this->assertEquals('Dornbirn', $response->addresses[0]->postboxCity); $this->assertEquals('6850', $response->addresses[0]->postboxPostcode); $this->assertEquals('4711', $response->addresses[0]->postboxNumber); $this->assertEquals(0, $response->formOfAddress); $this->assertEquals('Sehr geehrter John', $response->salutation); $client->request('GET', '/api/contacts/' . $response->id); $response = json_decode($client->getResponse()->getContent()); $this->assertEquals('John', $response->firstName); $this->assertEquals('Doe', $response->lastName); $this->assertEquals('MSc', $response->title->title); $this->assertEquals('*****@*****.**', $response->emails[0]->email); $this->assertEquals('789456123', $response->phones[0]->phone); $this->assertEquals('147258369-1', $response->faxes[0]->fax); $this->assertEquals('Street', $response->addresses[0]->street); $this->assertEquals('2', $response->addresses[0]->number); $this->assertEquals('note', $response->addresses[0]->note); $this->assertEquals('9999', $response->addresses[0]->zip); $this->assertEquals('Springfield', $response->addresses[0]->city); $this->assertEquals('Colorado', $response->addresses[0]->state); $this->assertEquals('Note 1_1', $response->notes[0]->value); $this->assertEquals(1, count($response->notes)); $this->assertEquals(true, $response->addresses[0]->billingAddress); $this->assertEquals(true, $response->addresses[0]->primaryAddress); $this->assertEquals(false, $response->addresses[0]->deliveryAddress); $this->assertEquals('Dornbirn', $response->addresses[0]->postboxCity); $this->assertEquals('6850', $response->addresses[0]->postboxPostcode); $this->assertEquals('4711', $response->addresses[0]->postboxNumber); $this->assertEquals(0, $response->formOfAddress); $this->assertEquals('Sehr geehrter John', $response->salutation); }