diff --git a/bothub/common/models.py b/bothub/common/models.py index ac4eab27..36ae4854 100644 --- a/bothub/common/models.py +++ b/bothub/common/models.py @@ -460,6 +460,9 @@ def ready_for_train(self): if self.training_started_at: return False + if len(self.requirements_to_train) > 0: + return False + previous_update = self.repository.updates.filter( language=self.language, by__isnull=False, @@ -481,7 +484,7 @@ def ready_for_train(self): not self.deleted.exists(): return False - return len(self.requirements_to_train) is 0 + return True @property def intents(self): diff --git a/bothub/common/tests.py b/bothub/common/tests.py index d6b666cb..b66708ae 100644 --- a/bothub/common/tests.py +++ b/bothub/common/tests.py @@ -767,7 +767,8 @@ def setUp(self): owner=self.owner, name='Test', slug='test', - language=languages.LANGUAGE_EN) + language=languages.LANGUAGE_EN, + use_language_model_featurizer=False) def test_be_true(self): RepositoryExample.objects.create( @@ -871,6 +872,19 @@ def test_entity_dont_have_min_examples(self): entity='hi') self.assertTrue(self.repository.current_update().ready_for_train) + def test_settings_change_exists_requirements(self): + self.repository.current_update().start_training(self.owner) + self.repository.use_language_model_featurizer = True + self.repository.save() + RepositoryExample.objects.create( + repository_update=self.repository.current_update(), + text='hello', + intent='greet') + self.assertEqual( + len(self.repository.current_update().requirements_to_train), + 1) + self.assertFalse(self.repository.current_update().ready_for_train) + class RequestRepositoryAuthorizationTestCase(TestCase): def setUp(self):