Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(611)

Side by Side Diff: components/ntp_snippets/content_suggestions_service_unittest.cc

Issue 2421463002: FetchMore functionality backend (Closed)
Patch Set: Introduced callback, removed strategy. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/ntp_snippets/content_suggestions_service.h" 5 #include "components/ntp_snippets/content_suggestions_service.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 } 80 }
81 81
82 void FireSuggestionInvalidated(const ContentSuggestion::ID& suggestion_id) { 82 void FireSuggestionInvalidated(const ContentSuggestion::ID& suggestion_id) {
83 observer()->OnSuggestionInvalidated(this, suggestion_id); 83 observer()->OnSuggestionInvalidated(this, suggestion_id);
84 } 84 }
85 85
86 MOCK_METHOD3(ClearHistory, 86 MOCK_METHOD3(ClearHistory,
87 void(base::Time begin, 87 void(base::Time begin,
88 base::Time end, 88 base::Time end,
89 const base::Callback<bool(const GURL& url)>& filter)); 89 const base::Callback<bool(const GURL& url)>& filter));
90 MOCK_METHOD2(FetchMore, void(const Category&, FetchedMoreCallback));
90 MOCK_METHOD1(ClearCachedSuggestions, void(Category category)); 91 MOCK_METHOD1(ClearCachedSuggestions, void(Category category));
91 MOCK_METHOD2(GetDismissedSuggestionsForDebugging, 92 MOCK_METHOD2(GetDismissedSuggestionsForDebugging,
92 void(Category category, 93 void(Category category,
93 const DismissedSuggestionsCallback& callback)); 94 const DismissedSuggestionsCallback& callback));
94 MOCK_METHOD1(ClearDismissedSuggestionsForDebugging, void(Category category)); 95 MOCK_METHOD1(ClearDismissedSuggestionsForDebugging, void(Category category));
95 MOCK_METHOD1(DismissSuggestion, 96 MOCK_METHOD1(DismissSuggestion,
96 void(const ContentSuggestion::ID& suggestion_id)); 97 void(const ContentSuggestion::ID& suggestion_id));
97 MOCK_METHOD2(FetchSuggestionImage, 98 MOCK_METHOD2(FetchSuggestionImage,
98 void(const ContentSuggestion::ID& suggestion_id, 99 void(const ContentSuggestion::ID& suggestion_id,
99 const ImageFetchedCallback& callback)); 100 const ImageFetchedCallback& callback));
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 190
190 MockProvider* RegisterProvider( 191 MockProvider* RegisterProvider(
191 const std::vector<Category>& provided_categories) { 192 const std::vector<Category>& provided_categories) {
192 std::unique_ptr<MockProvider> provider = base::MakeUnique<MockProvider>( 193 std::unique_ptr<MockProvider> provider = base::MakeUnique<MockProvider>(
193 service(), category_factory(), provided_categories); 194 service(), category_factory(), provided_categories);
194 MockProvider* result = provider.get(); 195 MockProvider* result = provider.get();
195 service()->RegisterProvider(std::move(provider)); 196 service()->RegisterProvider(std::move(provider));
196 return result; 197 return result;
197 } 198 }
198 199
200 MockProvider::FetchedMoreCallback MakeDummyCallback() {
201 return base::Bind(&ContentSuggestionsServiceTest::EmptyCallback,
202 base::Unretained(this));
203 }
204
199 MOCK_METHOD1(OnImageFetched, void(const gfx::Image&)); 205 MOCK_METHOD1(OnImageFetched, void(const gfx::Image&));
200 206
201 protected: 207 protected:
202 void RegisterPrefs() { 208 void RegisterPrefs() {
203 ContentSuggestionsService::RegisterProfilePrefs(pref_service_->registry()); 209 ContentSuggestionsService::RegisterProfilePrefs(pref_service_->registry());
204 UserClassifier::RegisterProfilePrefs(pref_service_->registry()); 210 UserClassifier::RegisterProfilePrefs(pref_service_->registry());
205 } 211 }
206 212
207 void CreateContentSuggestionsService( 213 void CreateContentSuggestionsService(
208 ContentSuggestionsService::State enabled) { 214 ContentSuggestionsService::State enabled) {
(...skipping 21 matching lines...) Expand all
230 Category category, 236 Category category,
231 const std::vector<int>& numbers) { 237 const std::vector<int>& numbers) {
232 std::vector<ContentSuggestion> result; 238 std::vector<ContentSuggestion> result;
233 for (int number : numbers) { 239 for (int number : numbers) {
234 result.push_back(CreateSuggestion(category, number)); 240 result.push_back(CreateSuggestion(category, number));
235 } 241 }
236 return result; 242 return result;
237 } 243 }
238 244
239 private: 245 private:
246 void EmptyCallback(std::vector<ContentSuggestion>) {}
247
240 std::unique_ptr<ContentSuggestionsService> service_; 248 std::unique_ptr<ContentSuggestionsService> service_;
241 std::unique_ptr<TestingPrefServiceSimple> pref_service_; 249 std::unique_ptr<TestingPrefServiceSimple> pref_service_;
242 250
243 DISALLOW_COPY_AND_ASSIGN(ContentSuggestionsServiceTest); 251 DISALLOW_COPY_AND_ASSIGN(ContentSuggestionsServiceTest);
244 }; 252 };
245 253
246 class ContentSuggestionsServiceDisabledTest 254 class ContentSuggestionsServiceDisabledTest
247 : public ContentSuggestionsServiceTest { 255 : public ContentSuggestionsServiceTest {
248 public: 256 public:
249 void SetUp() override { 257 void SetUp() override {
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 TEST_F(ContentSuggestionsServiceTest, ShouldForwardClearHistory) { 575 TEST_F(ContentSuggestionsServiceTest, ShouldForwardClearHistory) {
568 Category category = FromKnownCategory(KnownCategories::DOWNLOADS); 576 Category category = FromKnownCategory(KnownCategories::DOWNLOADS);
569 MockProvider* provider = RegisterProvider(category); 577 MockProvider* provider = RegisterProvider(category);
570 base::Time begin = base::Time::FromTimeT(123), 578 base::Time begin = base::Time::FromTimeT(123),
571 end = base::Time::FromTimeT(456); 579 end = base::Time::FromTimeT(456);
572 EXPECT_CALL(*provider, ClearHistory(begin, end, _)); 580 EXPECT_CALL(*provider, ClearHistory(begin, end, _));
573 base::Callback<bool(const GURL& url)> filter; 581 base::Callback<bool(const GURL& url)> filter;
574 service()->ClearHistory(begin, end, filter); 582 service()->ClearHistory(begin, end, filter);
575 } 583 }
576 584
585 TEST_F(ContentSuggestionsServiceTest, ShouldForwardFetchMore) {
586 Category category = FromKnownCategory(KnownCategories::ARTICLES);
587 MockProvider* provider = RegisterProvider(category);
588 provider->FireCategoryStatusChangedWithCurrentStatus(category);
589 EXPECT_CALL(*provider, FetchMore(category, testing::_));
Marc Treib 2016/10/20 16:51:39 nit: "testing::" not required (there's a "using" a
Marc Treib 2016/10/28 14:49:49 Done.
590 service()->FetchMore(category, MakeDummyCallback());
Marc Treib 2016/10/20 16:51:39 You can just put a null callback here, as in "Fetc
Marc Treib 2016/10/28 14:49:49 Done.
591 }
592
577 TEST_F(ContentSuggestionsServiceTest, DismissAndRestoreCategory) { 593 TEST_F(ContentSuggestionsServiceTest, DismissAndRestoreCategory) {
578 // Register a category with one suggestion. 594 // Register a category with one suggestion.
579 Category category = FromKnownCategory(KnownCategories::ARTICLES); 595 Category category = FromKnownCategory(KnownCategories::ARTICLES);
580 MockProvider* provider = RegisterProvider(category); 596 MockProvider* provider = RegisterProvider(category);
581 provider->FireCategoryStatusChangedWithCurrentStatus(category); 597 provider->FireCategoryStatusChangedWithCurrentStatus(category);
582 provider->FireSuggestionsChanged(category, CreateSuggestions(category, {42})); 598 provider->FireSuggestionsChanged(category, CreateSuggestions(category, {42}));
583 599
584 EXPECT_THAT(service()->GetCategories(), ElementsAre(category)); 600 EXPECT_THAT(service()->GetCategories(), ElementsAre(category));
585 EXPECT_THAT(service()->GetCategoryStatus(category), 601 EXPECT_THAT(service()->GetCategoryStatus(category),
586 Eq(CategoryStatus::AVAILABLE)); 602 Eq(CategoryStatus::AVAILABLE));
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 provider = RegisterProvider(category); 698 provider = RegisterProvider(category);
683 provider->FireCategoryStatusChangedWithCurrentStatus(category); 699 provider->FireCategoryStatusChangedWithCurrentStatus(category);
684 EXPECT_TRUE(service()->IsCategoryDismissed(category)); 700 EXPECT_TRUE(service()->IsCategoryDismissed(category));
685 701
686 service()->RestoreDismissedCategories(); 702 service()->RestoreDismissedCategories();
687 EXPECT_FALSE(service()->IsCategoryDismissed(category)); 703 EXPECT_FALSE(service()->IsCategoryDismissed(category));
688 EXPECT_THAT(providers().find(category)->second, Eq(provider)); 704 EXPECT_THAT(providers().find(category)->second, Eq(provider));
689 } 705 }
690 706
691 } // namespace ntp_snippets 707 } // namespace ntp_snippets
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698