public function testRenderLoop() { $customerId = CustomerQuery::create()->findOne()->getId(); $this->handler->expects($this->any())->method("buildDataSet")->willReturn($this->handler->renderLoop("address", ["customer" => $customerId])); $lang = Lang::getDefaultLanguage(); $loop = $this->handler->buildDataSet($lang); $this->assertInstanceOf("Thelia\\Core\\Template\\Loop\\Address", $loop); $data = $this->handler->buildData($lang); $addresses = AddressQuery::create()->filterByCustomerId($customerId)->find()->toArray("Id"); foreach ($data->getData() as $row) { $this->assertArrayHasKey("id", $row); $this->assertArrayHasKey($row["id"], $addresses); $this->assertEquals(count($addresses), $row["loop_total"]); $address = $addresses[$row["id"]]; $this->assertEquals($row["address1"], $address["Address1"]); $this->assertEquals($row["address2"], $address["Address2"]); $this->assertEquals($row["address3"], $address["Address3"]); $this->assertEquals($row["cellphone"], $address["Cellphone"]); $this->assertEquals($row["city"], $address["City"]); $this->assertEquals($row["company"], $address["Company"]); $this->assertEquals($row["country"], $address["CountryId"]); $this->assertEquals($row["create_date"], $address["CreatedAt"]); $this->assertEquals($row["update_date"], $address["UpdatedAt"]); $this->assertEquals($row["firstname"], $address["Firstname"]); $this->assertEquals($row["lastname"], $address["Lastname"]); $this->assertEquals($row["id"], $address["Id"]); $this->assertEquals($row["label"], $address["Label"]); $this->assertEquals($row["phone"], $address["Phone"]); $this->assertEquals($row["title"], $address["TitleId"]); $this->assertEquals($row["zipcode"], $address["Zipcode"]); } }