1 // Copyright 2018 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 
5 #ifndef CHROMEOS_SERVICES_ASSISTANT_TEST_SUPPORT_MOCK_ASSISTANT_H_
6 #define CHROMEOS_SERVICES_ASSISTANT_TEST_SUPPORT_MOCK_ASSISTANT_H_
7 
8 #include <string>
9 #include <vector>
10 
11 #include "base/macros.h"
12 #include "base/optional.h"
13 #include "chromeos/services/assistant/public/cpp/assistant_service.h"
14 #include "testing/gmock/include/gmock/gmock.h"
15 #include "ui/accessibility/mojom/ax_assistant_structure.mojom.h"
16 
17 namespace chromeos {
18 namespace assistant {
19 
20 class MockAssistant : public Assistant {
21  public:
22   MockAssistant();
23   ~MockAssistant() override;
24 
25   MOCK_METHOD1(StartEditReminderInteraction, void(const std::string&));
26 
27   MOCK_METHOD(void,
28               StartScreenContextInteraction,
29               (ax::mojom::AssistantStructurePtr, const std::vector<uint8_t>&));
30 
31   MOCK_METHOD(void,
32               StartTextInteraction,
33               (const std::string&, AssistantQuerySource, bool));
34 
35   MOCK_METHOD0(StartVoiceInteraction, void());
36 
37   MOCK_METHOD1(StopActiveInteraction, void(bool));
38 
39   MOCK_METHOD1(AddAssistantInteractionSubscriber,
40                void(AssistantInteractionSubscriber*));
41 
42   MOCK_METHOD1(RemoveAssistantInteractionSubscriber,
43                void(AssistantInteractionSubscriber*));
44 
45   MOCK_METHOD2(RetrieveNotification, void(const AssistantNotification&, int));
46 
47   MOCK_METHOD1(DismissNotification, void(const AssistantNotification&));
48 
49   MOCK_METHOD1(OnAccessibilityStatusChanged, void(bool));
50 
51   MOCK_METHOD1(SendAssistantFeedback, void(const AssistantFeedback&));
52 
53   MOCK_METHOD1(NotifyEntryIntoAssistantUi, void(AssistantEntryPoint));
54 
55   MOCK_METHOD0(StopAlarmTimerRinging, void());
56   MOCK_METHOD1(CreateTimer, void(base::TimeDelta));
57 
58  private:
59   DISALLOW_COPY_AND_ASSIGN(MockAssistant);
60 };
61 
62 }  // namespace assistant
63 }  // namespace chromeos
64 
65 #endif  // CHROMEOS_SERVICES_ASSISTANT_TEST_SUPPORT_MOCK_ASSISTANT_H_
66