~larryprice/libertine-scope/preview-2

« back to all changes in this revision

Viewing changes to tests/scope/store/test_query.cpp

  • Committer: Larry Price
  • Date: 2016-07-25 20:57:50 UTC
  • Revision ID: larry.price@canonical.com-20160725205750-dqgamo0nff3373ko
doing uri in a less silly way

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
}
49
49
 
50
50
 
51
 
MATCHER_P3(ResultPackageMatch, title, subtitle, rating, "")
 
51
MATCHER_P4(ResultPackageMatch, title, subtitle, id, rating, "")
52
52
{
53
53
  auto attributes = arg["attributes"].get_array();
54
54
  return arg.contains("title") && arg["title"].get_string() == title &&
55
55
      arg.contains("subtitle") && arg["subtitle"].get_string() == subtitle &&
 
56
      arg.contains("id") && arg["id"].get_string() == id &&
56
57
      attributes.size() > 0 && attributes[0].get_dict()["value"].get_string() == rating;
57
58
}
58
59
 
70
71
  {
71
72
  }
72
73
 
73
 
  Package create_package(std::string name, std::string summary, double rating)
 
74
  Package create_package(std::string name, std::string summary, std::string id, double rating)
74
75
  {
75
76
    Package package;
76
77
    package.name = name;
77
78
    package.summary = summary;
78
79
    package.rating = rating;
 
80
    package.id = id;
79
81
 
80
82
    return package;
81
83
  }
82
84
 
83
 
  void expect_push(std::string title, std::string subtitle, std::string rating, bool result = true)
 
85
  void expect_push(std::string title, std::string subtitle, std::string id, std::string rating, bool result = true)
84
86
  {
85
 
    EXPECT_CALL(reply_, push(testing::Matcher<unity::scopes::CategorisedResult const&>(ResultPackageMatch(title, subtitle, rating)))).WillOnce(testing::Return(result));
 
87
    EXPECT_CALL(reply_, push(testing::Matcher<unity::scopes::CategorisedResult const&>(ResultPackageMatch(title, subtitle, id, rating)))).WillOnce(testing::Return(result));
86
88
  }
87
89
 
88
90
  unity::scopes::SearchMetadata metadata_;
120
122
{
121
123
  EXPECT_CALL(reply_, register_category("aptcache", "1 result found", "Application", testing::_)).WillOnce(testing::Return(category_));
122
124
 
123
 
  auto package = create_package("vim", "Writin' stuff", 3);
124
 
  expect_push("vim", "Writin' stuff", "★★★☆☆");
 
125
  auto package = create_package("vim", "Writin' stuff", "vim.desktop", 3);
 
126
  expect_push("vim", "Writin' stuff", "vim.desktop", "★★★☆☆");
125
127
 
126
128
  EXPECT_CALL(*service_, search_cache(testing::_)).WillOnce(testing::Return(QList<Package>{package}));
127
129
  canned_query_.set_query_string("vim");
135
137
{
136
138
  EXPECT_CALL(reply_, register_category("aptcache", "3 results found", "Application", testing::_)).WillOnce(testing::Return(category_));
137
139
 
138
 
  auto vim = create_package("vim", "Writin' stuff", 2.7);
139
 
  auto gedit = create_package("gedit", "Writin' gui stuff", 4.1);
140
 
  auto ed = create_package("ed", "Writin' simple stuff", 2.4);
 
140
  auto vim = create_package("vim", "Writin' stuff", "vim.desktop", 2.7);
 
141
  auto gedit = create_package("gedit", "Writin' gui stuff", "gedit.desktop", 4.1);
 
142
  auto ed = create_package("ed", "Writin' simple stuff", "ed.desktop", 2.4);
141
143
 
142
 
  expect_push("vim", "Writin' stuff", "★★★☆☆");
143
 
  expect_push("gedit", "Writin' gui stuff", "★★★★☆");
144
 
  expect_push("ed", "Writin' simple stuff", "★★☆☆☆");
 
144
  expect_push("vim", "Writin' stuff", "vim.desktop", "★★★☆☆");
 
145
  expect_push("gedit", "Writin' gui stuff", "gedit.desktop", "★★★★☆");
 
146
  expect_push("ed", "Writin' simple stuff", "ed.desktop", "★★☆☆☆");
145
147
 
146
148
  EXPECT_CALL(*service_, search_cache(testing::_)).WillOnce(testing::Return(QList<Package>{vim, gedit, ed}));
147
149
  canned_query_.set_query_string("vim");
155
157
{
156
158
  EXPECT_CALL(reply_, register_category("aptcache", "3 results found", "Application", testing::_)).WillOnce(testing::Return(category_));
157
159
 
158
 
  auto vim = create_package("vim", "Writin' stuff", 2.7);
159
 
  auto gedit = create_package("gedit", "Writin' gui stuff", 4.1);
160
 
  auto ed = create_package("ed", "Writin' simple stuff", 2.4);
 
160
  auto vim = create_package("vim", "Writin' stuff", "vim.desktop", 2.7);
 
161
  auto gedit = create_package("gedit", "Writin' gui stuff", "gedit.desktop", 4.1);
 
162
  auto ed = create_package("ed", "Writin' simple stuff", "ed.desktop", 2.4);
161
163
 
162
 
  expect_push("vim", "Writin' stuff", "★★★☆☆");
163
 
  expect_push("gedit", "Writin' gui stuff", "★★★★☆", false);
 
164
  expect_push("vim", "Writin' stuff", "vim.desktop", "★★★☆☆");
 
165
  expect_push("gedit", "Writin' gui stuff", "gedit.desktop", "★★★★☆", false);
164
166
 
165
167
  EXPECT_CALL(*service_, search_cache(testing::_)).WillOnce(testing::Return(QList<Package>{vim, gedit, ed}));
166
168
  canned_query_.set_query_string("vim");