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

Unified Diff: components/ntp_snippets/content_suggestions_service_unittest.cc

Issue 2244793002: Remove deleted offline page suggestions from opened NTPs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: components/ntp_snippets/content_suggestions_service_unittest.cc
diff --git a/components/ntp_snippets/content_suggestions_service_unittest.cc b/components/ntp_snippets/content_suggestions_service_unittest.cc
index a7f75386acb4268a0af656e142c1ca04ab12ffdd..72e6f89ea947dcdb3430a9546e2dc1ec6a485075 100644
--- a/components/ntp_snippets/content_suggestions_service_unittest.cc
+++ b/components/ntp_snippets/content_suggestions_service_unittest.cc
@@ -87,6 +87,11 @@ class MockProvider : public ContentSuggestionsProvider {
observer()->OnCategoryStatusChanged(this, category, new_status);
}
+ void FireSuggestionInvalidated(Category category,
+ const std::string& suggestion_id) {
+ observer()->OnSuggestionInvalidated(this, category, suggestion_id);
+ }
+
MOCK_METHOD1(ClearCachedSuggestionsForDebugging, void(Category category));
MOCK_METHOD1(GetDismissedSuggestionsForDebugging,
std::vector<ContentSuggestion>(Category category));
@@ -106,6 +111,8 @@ class MockServiceObserver : public ContentSuggestionsService::Observer {
MOCK_METHOD1(OnNewSuggestions, void(Category category));
MOCK_METHOD2(OnCategoryStatusChanged,
void(Category changed_category, CategoryStatus new_status));
+ MOCK_METHOD2(OnSuggestionInvalidated,
+ void(Category category, const std::string& suggestion_id));
MOCK_METHOD0(ContentSuggestionsServiceShutdown, void());
~MockServiceObserver() override {}
};
@@ -301,6 +308,25 @@ TEST_F(ContentSuggestionsServiceTest, ShouldRedirectDismissSuggestion) {
service()->DismissSuggestion(suggestion_id);
}
+TEST_F(ContentSuggestionsServiceTest, ShouldRedirectSuggestionInvalidated) {
+ Category articles_category = FromKnownCategory(KnownCategories::ARTICLES);
+
+ MockProvider* provider = MakeProvider(articles_category);
+ MockServiceObserver observer;
+ service()->AddObserver(&observer);
+
+ provider->FireSuggestionsChanged(articles_category, {11, 12, 13});
+ ExpectThatSuggestionsAre(articles_category, {11, 12, 13});
+ std::string suggestion_id = CreateSuggestion(12).id();
+
+ EXPECT_CALL(observer,
+ OnSuggestionInvalidated(articles_category, suggestion_id))
+ .Times(1);
Marc Treib 2016/08/16 09:03:54 As I've recently learned, ".Times(1)" is a no-op,
Philipp Keck 2016/08/16 10:54:40 Done (for the entire file).
+ provider->FireSuggestionInvalidated(articles_category, suggestion_id);
+ ExpectThatSuggestionsAre(articles_category, {11, 13});
Marc Treib 2016/08/16 09:03:54 Add a case with a suggestion that isn't known to t
Philipp Keck 2016/08/16 10:54:40 Done.
+ service()->RemoveObserver(&observer);
+}
+
TEST_F(ContentSuggestionsServiceTest, ShouldForwardSuggestions) {
Category articles_category = FromKnownCategory(KnownCategories::ARTICLES);
Category offline_pages_category =

Powered by Google App Engine
This is Rietveld 408576698