Example #1
0
class TestIndexedTable__linked_from():
	def setup_method(self):
		self.schema = {"primary_key":"_id"}
		self.file_name = "users.json"
		self.table = IndexedTable(name="users",schema=self.schema)

	def test_no_links_returns_empty_list(self):
		expect(self.table.linked_from()).to(equal([]))

	def test_when_reverse_link_has_been_added_returns_reverse_link(self):
		self.table.add_reverse_link(name="assignee",table_name="tickets", foreign_key="assignee_id")
		expect(self.table.linked_from()).to(equal([ReverseLink(name='assignee',key="assignee_id", table= "tickets")]))
Example #2
0
class TestIndexedTable__add_reverse_link():
	def setup_method(self):
		self.schema = {"primary_key":"_id"}
		self.file_name = "users.json"
		self.table = IndexedTable(name="users",schema=self.schema)

	def test_when_link_name_does_not_already_exist_linked_from_returns_link(self):
		self.table.add_reverse_link(name="assignee",table_name="tickets", foreign_key="assignee_id")
		expect(self.table.linked_from()).to(equal([ReverseLink(name='assignee',key="assignee_id", table= "tickets")]))

	def test_when_link_name_already_exists_raises_invalid_schema_exception(self):
		self.table.add_reverse_link(name="assignee",table_name="tickets", foreign_key="assignee_id")
		expect(lambda : self.table.add_reverse_link(name="assignee",table_name="tickets", foreign_key="assignee_id")).to(raise_error(InvalidSchemaException))