assistant_setup_controller_unittest.cc 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/assistant/test/assistant_ash_test_base.h"
  5. #include "ash/assistant/test/test_assistant_setup.h"
  6. #include "ash/public/cpp/assistant/assistant_setup.h"
  7. #include "ui/views/view.h"
  8. namespace ash {
  9. namespace {
  10. class AssistantSetupControllerTest : public AssistantAshTestBase {
  11. protected:
  12. // Invoke to finish opt-in flow with the desired state of completion. Note
  13. // that this API may only be called while opt-in flow is in progress.
  14. void FinishAssistantOptInFlow(bool completed) {
  15. DCHECK(AssistantSetup::GetInstance());
  16. static_cast<TestAssistantSetup*>(AssistantSetup::GetInstance())
  17. ->FinishAssistantOptInFlow(completed);
  18. }
  19. };
  20. } // namespace
  21. TEST_F(AssistantSetupControllerTest, ShouldCloseAssistantUiWhenOnboarding) {
  22. ShowAssistantUi(AssistantEntryPoint::kUnspecified);
  23. EXPECT_TRUE(IsVisible());
  24. SetConsentStatus(assistant::prefs::ConsentStatus::kUnknown);
  25. EXPECT_TRUE(opt_in_view()->GetVisible());
  26. ClickOnAndWait(opt_in_view());
  27. EXPECT_FALSE(IsVisible());
  28. }
  29. TEST_F(AssistantSetupControllerTest,
  30. ShouldCloseAssistantUiWhenOnboardingInTabletMode) {
  31. SetTabletMode(true);
  32. ShowAssistantUi(AssistantEntryPoint::kUnspecified);
  33. EXPECT_TRUE(IsVisible());
  34. SetConsentStatus(assistant::prefs::ConsentStatus::kUnknown);
  35. EXPECT_TRUE(opt_in_view()->GetVisible());
  36. ClickOnAndWait(opt_in_view());
  37. EXPECT_FALSE(IsVisible());
  38. }
  39. TEST_F(AssistantSetupControllerTest,
  40. ShouldNotRelaunchAssistantIfOptInFlowAborted) {
  41. ShowAssistantUi(AssistantEntryPoint::kUnspecified);
  42. EXPECT_TRUE(IsVisible());
  43. SetConsentStatus(assistant::prefs::ConsentStatus::kUnknown);
  44. EXPECT_TRUE(opt_in_view()->GetVisible());
  45. ClickOnAndWait(opt_in_view());
  46. EXPECT_FALSE(IsVisible());
  47. FinishAssistantOptInFlow(/*completed=*/false);
  48. EXPECT_FALSE(IsVisible());
  49. }
  50. TEST_F(AssistantSetupControllerTest,
  51. ShouldRelaunchAssistantIfOptInFlowCompleted) {
  52. ShowAssistantUi(AssistantEntryPoint::kUnspecified);
  53. EXPECT_TRUE(IsVisible());
  54. SetConsentStatus(assistant::prefs::ConsentStatus::kUnknown);
  55. EXPECT_TRUE(opt_in_view()->GetVisible());
  56. ClickOnAndWait(opt_in_view());
  57. EXPECT_FALSE(IsVisible());
  58. FinishAssistantOptInFlow(/*completed=*/true);
  59. EXPECT_TRUE(IsVisible());
  60. }
  61. } // namespace ash