// ReSharper disable All using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using Sony.ChartBot.Repository; namespace Sony.ChartBot.Tests { [TestClass] public class CountryIntegrationTests { [TestMethod] public void Test_Can_Get_Supported_Countries() { // Act var repo = new CountryRepository(); var sweden = repo.GetSupportedCountry("se"); // Assert Assert.IsNotNull(sweden); Assert.AreEqual("SE", sweden.CountryCode); Assert.AreEqual("Sweden", sweden.EnglishName); Assert.AreEqual("🇸🇪", sweden.Emoji); } [TestMethod] public void Test_Can_Set_Default_Country() { // Arrange var userId = Guid.NewGuid().ToString(); // Act var repo = new CountryRepository("sonychartbot_tests"); var sweden = repo.GetSupportedCountry("se"); repo.SetDefaultCountryAsync(userId, sweden, 1).Wait(); var fetched = repo.GetDefaultCountryAsync(userId).Result; // Assert Assert.IsNotNull(fetched); Assert.AreEqual("SE", fetched.CountryCode); Assert.AreEqual("Sweden", fetched.EnglishName); Assert.AreEqual("🇸🇪", fetched.Emoji); // Act ... again var uk = repo.GetSupportedCountry("gb"); repo.SetDefaultCountryAsync(userId, uk, 0).Wait(); fetched = repo.GetDefaultCountryAsync(userId).Result; // Assert ... again Assert.IsNotNull(fetched); Assert.AreEqual("GB", fetched.CountryCode); Assert.AreEqual("United Kingdom", fetched.EnglishName); Assert.AreEqual("🇬🇧", fetched.Emoji); } } }