Set "WiFi discovery" bit of device flags according state of Hosted SSID.
Return true only if device is hosting AP or if flags are being generated
for SSID.

BUG:25597839
Change-Id: Idca4f3dbb915e7af0375832260f8280a6b7b08b1
Reviewed-on: https://weave-review.googlesource.com/1529
Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/src/privet/wifi_ssid_generator_unittest.cc b/src/privet/wifi_ssid_generator_unittest.cc
index 3bd561f..398e105 100644
--- a/src/privet/wifi_ssid_generator_unittest.cc
+++ b/src/privet/wifi_ssid_generator_unittest.cc
@@ -22,7 +22,26 @@
   WifiSsidGenerator ssid_generator_{&gcd_, &wifi_};
 };
 
-TEST_F(WifiSsidGeneratorTest, GenerateFlags) {
+TEST_F(WifiSsidGeneratorTest, GenerateFlagsNoHostedAp) {
+  EXPECT_EQ(ssid_generator_.GenerateFlags().size(), 2);
+
+  wifi_.connection_state_ = ConnectionState{ConnectionState::kUnconfigured};
+  gcd_.connection_state_ = ConnectionState{ConnectionState::kUnconfigured};
+  EXPECT_EQ("DA", ssid_generator_.GenerateFlags());
+
+  wifi_.connection_state_ = ConnectionState{ConnectionState::kOnline};
+  EXPECT_EQ("CA", ssid_generator_.GenerateFlags());
+
+  gcd_.connection_state_ = ConnectionState{ConnectionState::kOffline};
+  EXPECT_EQ("AA", ssid_generator_.GenerateFlags());
+
+  wifi_.connection_state_ = ConnectionState{ConnectionState::kUnconfigured};
+  EXPECT_EQ("BA", ssid_generator_.GenerateFlags());
+}
+
+TEST_F(WifiSsidGeneratorTest, GenerateFlagsWithHostedAp) {
+  EXPECT_CALL(wifi_, GetHostedSsid())
+      .WillRepeatedly(Return(ssid_generator_.GenerateSsid()));
   EXPECT_EQ(ssid_generator_.GenerateFlags().size(), 2);
 
   wifi_.connection_state_ = ConnectionState{ConnectionState::kUnconfigured};