public function test_belongs_to() { MemoryStore::flush(); Page::delete_all(); User::delete_all(); $user = new User(); $user->email = "*****@*****.**"; $user->first_name = "Ben"; $user->last_name = "Copsey"; $user->password = "******"; $user->accepted_terms_and_conditions = true; $user->registration_date = new Date(); $user->first_name = "Ben"; $user->save(); $page1 = new Page(); $page1->title = "This is page 1"; $page1->last_modified = new Date(); $page1->body = "This is the content"; $page1->url = "page-1"; $page1->author = $user; $page1->save(); FuzzyTest::assert_equal($page1->author_id, $user->id, "Author not set correctly"); $user->delete(); $page = Page::find_by_url('page-1'); FuzzyTest::assert_true(isset($page), "Page deleted when it should have been preserved"); FuzzyTest::assert_equal($page->author_id, 0, "Page deleted when it should have been preserved"); $user->save(); $page->author = $user; $page->save(); $matches = $user->pages; FuzzyTest::assert_equal(count($matches), 1, "Page count should be 1"); }
public function test_validation() { MemoryStore::flush(); UserLogin::delete_all(); User::delete_all(); $user = new User(); FuzzyTest::assert_false($user->validate(), "User write should fail because required properties were not set"); FuzzyTest::assert_true(key_exists("email", $user->validation_errors), "Email validation error not set"); FuzzyTest::assert_true(key_exists("password", $user->validation_errors), "Password validation error not set"); FuzzyTest::assert_true(key_exists("accepted_terms_and_conditions", $user->validation_errors), "Boolean validation error not set"); FuzzyTest::assert_true(key_exists("registration_date", $user->validation_errors), "Required validation error not set"); $user->accepted_terms_and_conditions = true; $user->validate(); FuzzyTest::assert_false(key_exists("accepted_terms_and_conditions", $user->validation_errors), "Boolean validation error erroneously set"); $user->email = "*****@*****.**"; $user->validate(); FuzzyTest::assert_false(key_exists("email", $user->validation_errors), "Email validation error erroneously set"); $user->password = "******"; $user->validate(); FuzzyTest::assert_false(key_exists("password", $user->validation_errors), "Password validation error erroneously set"); $user->registration_date = new Date(); $user->validate(); FuzzyTest::assert_false(key_exists("registration_date", $user->validation_errors), "Required validation error erroneously set"); $user->first_name = "Ben"; $user->last_name = "Copsey"; $user->validate(); FuzzyTest::assert_false(key_exists("first_name", $user->validation_errors), "Length validation error erroneously set"); FuzzyTest::assert_false(key_exists("last_name", $user->validation_errors), "Length validation error erroneously set"); FuzzyTest::assert_true($user->validate(), "Validate should succeed because required properties were set"); }
public function test_simple_write() { MemoryStore::flush(); UserLogin::delete_all(); User::delete_all(); $user = new User(); $user->email = "*****@*****.**"; $user->password = "******"; $user->accepted_terms_and_conditions = true; $user->registration_date = new Date("2008-12-12"); $user->first_name = "Ben"; $user->last_name = "Copsey"; FuzzyTest::assert_true($user->write_new(), "Write should succeed because required properties were set"); $user = new User(); $user->email = "*****@*****.**"; $user->password = "******"; $user->accepted_terms_and_conditions = true; $user->registration_date = new Date(); $user->first_name = "Ben"; $user->last_name = "Copsey"; FuzzyTest::assert_false($user->write_new(), "Write should fail because we have a duplicate for a unique property"); $user = new User(); $user->email = "*****@*****.**"; $user->password = "******"; $user->accepted_terms_and_conditions = true; $user->registration_date = new Date(); $user->first_name = "Ben"; $user->last_name = "Copsey"; FuzzyTest::assert_true($user->save(), "Save should succeed as a write_new"); }
public function test_custom_file_name() { $file = new File("/tmp/test.txt"); $result = file_exists($file->path); FuzzyTest::assert_true($result, "File not written"); $user = User::find_by_email("*****@*****.**"); $document = new CustomDocument(); $document->user = $user; $document->last_modified = new Date(); $document->file = $file; $document->save(); $result = file_exists(DOCUMENT_SAVE_PATH . "/" . $document->id . ".info"); FuzzyTest::assert_true($result, "File not written"); }