示例#1
0
class DeleteNoteTest(TestCase):
    def setUp(self):
        self.database = Database("Test")

    def test_delete_note(self):
        # given
        title = "Title"
        content = "Content"
        self.database.create_note(title, content)
        # when
        self.database.delete_note_by_id(1)
        # then
        with self.assertRaises(NoteNotFound):
            note = self.database.get_note_by_id(1)

    def test_cant_modify_deleted_note(self):
        # given
        title = "Title"
        content = "Content"
        self.database.create_note(title, content)
        # when
        self.database.delete_note_by_id(1)
        # then
        with self.assertRaises(NoteNotFound):
            note = self.database.get_raw_note_by_id(1)

    def tearDown(self):
        self.database.close_connection()
示例#2
0
class UpdateNoteTest(TestCase):
    def setUp(self):
        self.database = Database("Test")

    def test_update_note(self):
        # given
        title = "Title"
        content = "Content"
        self.database.create_note(title, content)
        # when
        sleep(1)
        self.database.update_note_by_id(1, "Title2", "Modified")
        # then
        result = self.database.get_raw_note_by_id(1)
        self.assertEqual("Title2", result[0])
        self.assertEqual("Modified", result[1])
        self.assertNotEqual(result[2], result[3])

    def test_update_one_note(self):
        # given
        title = "Title"
        content = "Content"
        title2 = "Title2"
        content2 = "Content2"
        self.database.create_note(title, content)
        self.database.create_note(title2, content2)
        # when
        sleep(1)
        self.database.update_note_by_id(1, "Title2", "Modified")
        # then
        result = self.database.get_raw_note_by_id(1)
        unchanged_note = self.database.get_note_by_id(2)
        self.assertEqual("Title2", result[0])
        self.assertEqual("Modified", result[1])
        self.assertNotEqual(result[2], result[3])
        self.assertTrue(
            unchanged_note.title_and_content_equals(title2, content2))

    def test_count_number_of_versions(self):
        # given
        title = "Title"
        content = "Content"
        self.database.create_note(title, content)
        # when
        sleep(1)
        self.database.update_note_by_id(1, "Title2", "Modified")
        # then
        result = self.database.query_executor.execute(
            "Select count(*) from Note_version")
        self.assertEqual(result[0], 2)

    def tearDown(self):
        self.database.close_connection()
class GetNoteByIdTest(TestCase):
    def setUp(self):
        self.database = Database("Test")

    def test_get_note_by_id(self):
        # given
        self.database.create_note("Title", "Content")
        # when
        note = self.database.get_note_by_id(1)
        # then
        self.assertEqual(note.title, "Title")
        self.assertEqual(note.content, "Content")

    def test_no_note_like_this(self):
        # given

        # when then
        with self.assertRaises(NoteNotFound):
            self.database.get_note_by_id(2)

    def tearDown(self):
        self.database.close_connection()