public void AddIntlAddressSetAsDefault() { var testUser = TestDataFactory.CreateLoginAccount(); AddressModel testAddress = new AddressModel { country = "MX", CompanyName = "intl address ;)", street = "calle sexta", state = "Estado de Baja California", city = "Ensenada", postal = "22790", apartment = "12" }; APIndexPage indexPage = new APIndexPage(Driver, Url); APLoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testUser.Email, testUser.Password); AddressesHomePage addressesPage = indexPage.Header.ClickOnAddresses(); AddAddressPage addAddressPage = addressesPage.ClickOnAddNewAddress(); string expectedCountry = addAddressPage.GetCurrentCountryValue(); var currentCountries = addAddressPage.GetCountriesFromDropdown().ToList(); addAddressPage.SetInputValue(AddressInputs.Country, testAddress.country); addAddressPage.SetInputValue(AddressInputs.CompanyName, testAddress.CompanyName); addAddressPage.SetInputValue(AddressInputs.State, testAddress.state); addAddressPage.SetInputValue(AddressInputs.Street, testAddress.street); addAddressPage.SetInputValue(AddressInputs.City, testAddress.city); addAddressPage.SetInputValue(AddressInputs.Postal, testAddress.postal); addAddressPage.SetInputValue(AddressInputs.Apartment, testAddress.apartment); addAddressPage.SetCheckboxDefault(); addressesPage = addAddressPage.ClickOnSubmit(); addressesPage.WaitForAppBusy(); addressesPage.InformationModal.ClickOnClose(); addressesPage.WaitForAppBusy(); Thread.Sleep(1000); var dropdownItems = addressesPage.GetAddressesDropdownItems(AccessLevel.User).ToList(); bool defaultLabelExist = addressesPage.IsDefaultLabelPresentOnDropdownItem(AccessLevel.User); string actualDefaultAddress = addressesPage.GetDefaultTileAddressData(AccessLevel.User); //just created address data string createdAddress = FormatAddress(testAddress); string expectedAddress = dropdownItems.FirstOrDefault(x => x.Contains(createdAddress)); bool userLevelTileExist = addressesPage.DefaultTileExist(AccessLevel.User); Assert.IsNotNull(expectedAddress, "The just added address is not found on the dropdown"); Assert.IsTrue(defaultLabelExist, "Default label does not exist"); Assert.IsTrue(actualDefaultAddress.Contains(testAddress.street)); Assert.IsTrue(actualDefaultAddress.Contains(testAddress.apartment)); Assert.IsTrue(actualDefaultAddress.Contains(testAddress.country)); Assert.IsTrue(actualDefaultAddress.Contains(testAddress.postal)); Assert.IsTrue(actualDefaultAddress.Contains(testAddress.state)); Assert.IsTrue(userLevelTileExist, "default user level tile is already present"); }
public void AddInternationalAddress() { var testUser = DataFactory.Users.CreateTestUser(); AddressModel testAddress = new AddressModel { country = "MX", CompanyName = "intl address ;)", street = "calle sexta", state = "Estado de Baja California", city = "Ensenada", postal = "22790", apartment = "12" }; string defaultCountry = "US - United States"; var nonAceptedCountries = new { Somalia = "Somalia", Cuba = "Cuba", Iran = "Iran", NorthKorea = "North Korea", Lebannon = "Lebannon", Syria = "Syria" }; APIndexPage indexPage = new APIndexPage(Driver, Url); APLoginPage loginPage = indexPage.Header.ClickOnSignIn(); indexPage = loginPage.Login(testUser.Username, testUser.Password); AddressesHomePage addressesPage = indexPage.Header.ClickOnAddresses(); AddAddressPage addAddressPage = addressesPage.ClickOnAddNewAddress(); string expectedCountry = addAddressPage.GetCurrentCountryValue(); var currentCountries = addAddressPage.GetCountriesFromDropdown().ToList(); addAddressPage.SetInputValue(AddressInputs.Country, testAddress.country); addAddressPage.SetInputValue(AddressInputs.CompanyName, testAddress.CompanyName); addAddressPage.SetInputValue(AddressInputs.State, testAddress.state); addAddressPage.SetInputValue(AddressInputs.Street, testAddress.street); addAddressPage.SetInputValue(AddressInputs.City, testAddress.city); addAddressPage.SetInputValue(AddressInputs.Postal, testAddress.postal); addAddressPage.SetInputValue(AddressInputs.Apartment, testAddress.apartment); addressesPage = addAddressPage.ClickOnSubmit(); addressesPage.InformationModal.ClickOnClose(); var dropdownItems = addressesPage.GetAddressesDropdownItems(AccessLevel.User).ToList(); //just created address data string createdAddress = FormatAddress(testAddress); string expectedAddress = dropdownItems.FirstOrDefault(x => x.Contains(createdAddress)); Assert.IsTrue(defaultCountry.Contains(expectedCountry), $"'{expectedCountry}' is not the default country"); CollectionAssert.DoesNotContain(currentCountries, nonAceptedCountries.Cuba, $"'{nonAceptedCountries.Cuba}' cannot be here"); CollectionAssert.DoesNotContain(currentCountries, nonAceptedCountries.Iran, $"'{nonAceptedCountries.Iran}' cannot be here"); CollectionAssert.DoesNotContain(currentCountries, nonAceptedCountries.Lebannon, $"'{nonAceptedCountries.Lebannon}' cannot be here"); CollectionAssert.DoesNotContain(currentCountries, nonAceptedCountries.NorthKorea, $"'{nonAceptedCountries.NorthKorea}' cannot be here"); CollectionAssert.DoesNotContain(currentCountries, nonAceptedCountries.Somalia, $"'{nonAceptedCountries.Somalia}' cannot be here"); CollectionAssert.DoesNotContain(currentCountries, nonAceptedCountries.Syria, $"'{nonAceptedCountries.Syria}' cannot be here"); Assert.IsNotNull(expectedAddress, "The just added address is not found on the dropdown"); }