コード例 #1
0
 public function testBelongsToOne()
 {
     $details = new CustomerDetail();
     $source = DataSource::make($details);
     $source['biography'] = 'A nice life!';
     $source['accepts_cookies'] = 0;
     $source['customer.name'] = 'Frank';
     $source['customer.surname'] = 'Sinatra';
     assertSame('A nice life!', $source['biography']);
     assertSame(0, $source['accepts_cookies']);
     $source->save();
     assertSame(1, Customer::all()->count());
     assertSame(1, CustomerDetail::all()->count());
     // test that we don't create duplicates
     $source['biography'] = 'prefers not say';
     $source['customer.name'] = 'Frank';
     assertSame(1, Customer::all()->count());
     assertSame(1, CustomerDetail::all()->count());
 }
コード例 #2
0
 public function testHasOne()
 {
     $customer = new Customer();
     $source = DataSource::make($customer);
     $source['name'] = 'Frank';
     $source['surname'] = 'Sinatra';
     $source['details.biography'] = 'A nice life!';
     $source['details.accepts_cookies'] = 0;
     $source['details.accepts_cookies'] = 0;
     // test cache
     assertSame('Frank', $source['name']);
     assertSame('A nice life!', $source['details.biography']);
     assertSame(0, $source['details.accepts_cookies']);
     $source->save();
     assertSame(1, Customer::all()->count());
     assertSame(1, CustomerDetail::all()->count());
     // test everything's saved
     $result = Customer::all()->first();
     assertSame('A nice life!', $result->details->biography);
     assertEquals(0, $result->details->accepts_cookies);
     // test we don't create duplicates
     $source['surname'] = 'Sinatrax';
     $source['details.biography'] = 'prefers not say';
     $source['details.accepts_cookies'] = 1;
     assertSame(1, Customer::all()->count());
     assertSame(1, CustomerDetail::all()->count());
     return;
 }
コード例 #3
0
ファイル: HasOneTest.php プロジェクト: tacone/datasource
 public function testCreateChildren()
 {
     $this->createModels(Customer::class, []);
     $this->createModels(Customer::class, []);
     $source = DataSource::make(new Customer());
     $source['id'] = 1;
     $source['name'] = 'Frank';
     $source['surname'] = 'Sinatra';
     $source['details.biography'] = 'A nice life!';
     $source['details.accepts_cookies'] = 0;
     $source->save();
     assertModelArrayEqual([['name' => 'Frank', 'surname' => 'Sinatra', 'details' => ['id' => '1', 'customer_id' => '1', 'biography' => 'A nice life!', 'accepts_cookies' => '0']]], Customer::with('details')->get()->toArray());
     assertModelArrayEqual([['name' => 'Frank', 'surname' => 'Sinatra']], Customer::all()->toArray());
     // repeat
     $source->save();
     assertModelArrayEqual([['name' => 'Frank', 'surname' => 'Sinatra', 'details' => ['id' => '1', 'customer_id' => '1', 'biography' => 'A nice life!', 'accepts_cookies' => '0']]], Customer::with('details')->get()->toArray());
     assertModelArrayEqual([['biography' => 'A nice life!', 'accepts_cookies' => 0, 'customer_id' => 1]], CustomerDetail::all()->toArray());
 }