Exemplo n.º 1
0
    def test_update_creates_word_and_inactivates_existing_word(self):
        word_id = self.word.get_id()
        update_url = '/words/{}'.format(word_id)
        self.assertEqual(True, self.word.get_is_active())
        lexeme_form = self.word.get_lexeme_form()
        lexical_class = Word.LEXICAL_CLASSES[0]
        word_data = {
            'lexeme_form': lexeme_form,
            'lexical_class': lexical_class
        }
        response = self.put(update_url, data=word_data)
        self.assertEqual(200, response.status_code)
        word = json.loads(response.data)
        self.assertIsNotNone(word.get('id'))
        self.assertIsNotNone(word.get('date_created'))
        self.assertIsNotNone(word.get('date_modified'))
        self.assertEqual(lexeme_form, word.get('lexeme_form'))
        self.assertEqual(lexical_class, word.get('lexical_class'))
        self.assertNotEqual(word_id, word.get('id'))
        self.assertIsNotNone(word.get('is_active'))

        # Make sure the word was actually updated in the database
        saved_word = WordsService.get_instance().get(int(word.get('id')))
        self.assertEqual(saved_word.get_id(), word.get('id'))
        self.assertEqual(Word.dump_datetime(saved_word.get_date_created()), word.get('date_created'))
        self.assertEqual(Word.dump_datetime(saved_word.get_date_modified()), word.get('date_modified'))
        self.assertEqual(saved_word.get_lexeme_form(), word.get('lexeme_form'))
        self.assertEqual(saved_word.get_lexical_class(), word.get('lexical_class'))
        self.assertEqual(saved_word.get_is_active(), word.get('is_active'))

        # Ensure old lexeme_form template was marked inactive
        old_word = WordsService.get_instance().get(word_id)
        self.assertEqual(False, old_word.get_is_active())
Exemplo n.º 2
0
    def test_create_returns_created_status(self):
        create_url = '/words'
        lexeme_form = 'foo'
        lexical_class = Word.LEXICAL_CLASSES[0]
        word_data = {
            'lexeme_form': lexeme_form,
            'lexical_class': lexical_class
        }
        response = self.post(create_url, data=word_data)
        self.assertEqual(201, response.status_code)
        word = json.loads(response.data)
        self.assertIsNotNone(word.get('id'))
        self.assertIsNotNone(word.get('date_created'))
        self.assertIsNotNone(word.get('date_modified'))
        self.assertEqual(lexeme_form, word.get('lexeme_form'))
        self.assertEqual(lexical_class, word.get('lexical_class'))
        self.assertEqual(True, word.get('is_active'))

        # Make sure the word was actually saved to the database
        saved_word = WordsService.get_instance().get(int(word.get('id')))
        self.assertEqual(saved_word.get_id(), word.get('id'))
        self.assertEqual(Word.dump_datetime(saved_word.get_date_created()), word.get('date_created'))
        self.assertEqual(Word.dump_datetime(saved_word.get_date_modified()), word.get('date_modified'))
        self.assertEqual(saved_word.get_lexeme_form(), word.get('lexeme_form'))
        self.assertEqual(saved_word.get_lexical_class(), word.get('lexical_class'))
        self.assertEqual(saved_word.get_is_active(), word.get('is_active'))
Exemplo n.º 3
0
    def test_delete_deletes_word(self):
        delete_url = '/words/{}'.format(self.word.get_id())
        self.assertEqual(True, self.word.get_is_active())
        response = self.delete(delete_url)
        self.assertEqual(200, response.status_code)
        word = json.loads(response.data)
        self.assertIsNotNone(word.get('id'))
        self.assertIsNotNone(word.get('date_created'))
        self.assertIsNotNone(word.get('date_modified'))
        self.assertIsNotNone(word.get('lexeme_form'))
        self.assertIsNotNone(word.get('lexical_class'))
        self.assertEqual(False, word.get('is_active'))

        # Make sure the word was actually updated in the database
        saved_word = WordsService.get_instance().get(int(word.get('id')))
        self.assertEqual(saved_word.get_id(), word.get('id'))
        self.assertEqual(Word.dump_datetime(saved_word.get_date_created()), word.get('date_created'))
        self.assertEqual(Word.dump_datetime(saved_word.get_date_modified()), word.get('date_modified'))
        self.assertEqual(saved_word.get_lexeme_form(), word.get('lexeme_form'))
        self.assertEqual(saved_word.get_lexical_class(), word.get('lexical_class'))
        self.assertEqual(saved_word.get_is_active(), word.get('is_active'))