Commit 64cf44e2 authored by Meilin Wang's avatar Meilin Wang Committed by Commit Bot

Add a new test case for |AssistantManagerServiceImpl|.

This CL adds a new test case to ensure we update the supported action
list stored in |AssistantManagerServiceImpl| when ambient mode state has
changed.

Bug: b/149237062
Test: run the new unit test added in this change.

Change-Id: Idc3c538e023cb59e76fb6c71219e4846da6d9c30
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1969777
Commit-Queue: Meilin Wang <meilinw@chromium.org>
Reviewed-by: default avatarXiaohui Chen <xiaohuic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#740817}
parent a53db5bb
...@@ -314,9 +314,6 @@ void AssistantManagerServiceImpl::SetAccessToken( ...@@ -314,9 +314,6 @@ void AssistantManagerServiceImpl::SetAccessToken(
} }
void AssistantManagerServiceImpl::EnableAmbientMode(bool enabled) { void AssistantManagerServiceImpl::EnableAmbientMode(bool enabled) {
if (!assistant_manager_)
return;
// Update |action_module_| accordingly, as some actions, e.g. open URL // Update |action_module_| accordingly, as some actions, e.g. open URL
// in the browser, are not supported in ambient mode. // in the browser, are not supported in ambient mode.
action_module_->SetAmbientModeEnabled(enabled); action_module_->SetAmbientModeEnabled(enabled);
...@@ -460,6 +457,8 @@ void AssistantManagerServiceImpl::SyncDeviceAppsStatus() { ...@@ -460,6 +457,8 @@ void AssistantManagerServiceImpl::SyncDeviceAppsStatus() {
} }
void AssistantManagerServiceImpl::StartVoiceInteraction() { void AssistantManagerServiceImpl::StartVoiceInteraction() {
DCHECK(assistant_manager_);
platform_api_->SetMicState(true); platform_api_->SetMicState(true);
assistant_manager_->StartAssistantInteraction(); assistant_manager_->StartAssistantInteraction();
} }
...@@ -479,7 +478,7 @@ void AssistantManagerServiceImpl::StopActiveInteraction( ...@@ -479,7 +478,7 @@ void AssistantManagerServiceImpl::StopActiveInteraction(
void AssistantManagerServiceImpl::StartWarmerWelcomeInteraction( void AssistantManagerServiceImpl::StartWarmerWelcomeInteraction(
int num_warmer_welcome_triggered, int num_warmer_welcome_triggered,
bool allow_tts) { bool allow_tts) {
DCHECK(assistant_manager_internal_ != nullptr); DCHECK(assistant_manager_internal_);
const std::string interaction = const std::string interaction =
CreateWarmerWelcomeInteraction(num_warmer_welcome_triggered); CreateWarmerWelcomeInteraction(num_warmer_welcome_triggered);
......
...@@ -235,6 +235,11 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) AssistantManagerServiceImpl ...@@ -235,6 +235,11 @@ class COMPONENT_EXPORT(ASSISTANT_SERVICE) AssistantManagerServiceImpl
// thread is finished. // thread is finished.
void WaitUntilStartIsFinishedForTesting(); void WaitUntilStartIsFinishedForTesting();
// Get the action module for testing.
action::CrosActionModule* action_module_for_testing() {
return action_module_.get();
}
private: private:
class AssistantMediaSessionObserver; class AssistantMediaSessionObserver;
void StartAssistantInternal(const base::Optional<std::string>& access_token); void StartAssistantInternal(const base::Optional<std::string>& access_token);
......
...@@ -221,6 +221,10 @@ class AssistantManagerServiceImplTest : public testing::Test { ...@@ -221,6 +221,10 @@ class AssistantManagerServiceImplTest : public testing::Test {
return delegate_->assistant_manager_internal(); return delegate_->assistant_manager_internal();
} }
action::CrosActionModule* action_module() {
return assistant_manager_service_->action_module_for_testing();
}
void Start() { void Start() {
assistant_manager_service()->Start("dummy-access-token", assistant_manager_service()->Start("dummy-access-token",
/*enable_hotword=*/false); /*enable_hotword=*/false);
...@@ -542,5 +546,16 @@ TEST_F(AssistantManagerServiceImplTest, ...@@ -542,5 +546,16 @@ TEST_F(AssistantManagerServiceImplTest,
Start(); Start();
} }
TEST_F(AssistantManagerServiceImplTest,
ShouldUpdateActionModuleWhenAmbientModeStateChanged) {
EXPECT_FALSE(action_module()->IsAmbientModeEnabledForTesting());
assistant_manager_service()->EnableAmbientMode(true);
EXPECT_TRUE(action_module()->IsAmbientModeEnabledForTesting());
assistant_manager_service()->EnableAmbientMode(false);
EXPECT_FALSE(action_module()->IsAmbientModeEnabledForTesting());
}
} // namespace assistant } // namespace assistant
} // namespace chromeos } // namespace chromeos
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment