public void Setup()
        {
            var supplier = TestSupplier.CreateNaked(session);

            supplier.CreateSampleCore(session);
            client  = TestClient.CreateNaked(session);
            address = client.CreateAddress();
            user    = client.Users.First();
            session.Save(address);
            ServiceContext.GetUserName = () => user.Login;

            var container = new WindsorContainer();

            container.AddComponent("RepositoryInterceptor", typeof(RepositoryInterceptor));
            container.AddComponent("OfferRepository", typeof(IOfferRepository), typeof(OfferRepository));
            container.AddComponent("Repository", typeof(IRepository <>), typeof(Repository <>));
            var holder = new SessionFactoryHolder();

            holder
            .Configuration
            .AddInputStream(HbmSerializer.Default.Serialize(Assembly.Load("Common.Models")));
            container.Kernel.AddComponentInstance <ISessionFactoryHolder>(holder);
            IoC.Initialize(container);
            IoC.Container.Register(
                Component.For <IInforoomOnlineService>()
                .ImplementedBy <InforoomOnlineService>()
                .Interceptors(InterceptorReference.ForType <ContextLoaderInterceptor>())
                .Anywhere,
                Component.For <ContextLoaderInterceptor>(),
                Component.For <IClientLoader>().ImplementedBy <ClientLoader>());

            service = IoC.Resolve <IInforoomOnlineService>();
        }
Beispiel #2
0
        public void AfterAddingATypeTwice_AddressTypesList_ContainsThatTypeOnlyOnce()
        {
            TestAddress testAddress = new TestAddress();

            testAddress.AddAddressType(AddressType.BillingAddress);
            testAddress.AddAddressType(AddressType.BillingAddress);
            Assert.That(testAddress.GetAddressTypeCount(), Is.EqualTo(1));
        }
Beispiel #3
0
        public override void Execute(ISession session)
        {
            var user = User(session);

            Address = user.Client.CreateAddress();
            user.AvaliableAddresses.Add(Address);
            session.Save(Address);
            Address.Value += " " + Address.Id;
        }
Beispiel #4
0
        public void AddCreditCardUsingNewAddress()
        {
            var testUser = DataFactory.Users.CreateTestUser();

            #region test data models
            var cardtoken = new PaymentOptionModel
            {
                CardNumber     = "5582508629687473",
                ExpirationMont = "12",
                ExpirationYear = "24",
                HolderName     = "Test corp",
                Cvv            = "077",
                LastFourDigits = "7473"
            };
            var address = new TestAddress
            {
                Country             = "US",
                Name                = "QA Softtek Automation",
                StateProvinceRegion = "CO",
                City                = "Denver",
                Street              = "Elm street",
                Postal              = "22780",
                Apartment           = "24"
            };
            #endregion

            APIndexPage indexPage = new APIndexPage(Driver, Url);
            APLoginPage loginPage = indexPage.Header.ClickOnSignIn();
            indexPage = loginPage.Login(testUser.Username, testUser.Password);

            PaymentOptionsHomePage   paymentsPage      = indexPage.Header.ClickOnPaymentOptions();
            PaymentOptionsCreatePage addNewPaymentPage = paymentsPage.ClickOnAddNewCreditCard();
            addNewPaymentPage.FillCardTokenForm(cardtoken);
            addNewPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.AddNew);

            //Fill billing address form
            addNewPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, address.Name);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.Street, address.Street);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.Apartment, address.Apartment);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.City, address.City);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.State, address.StateProvinceRegion);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.Postal, address.Postal);

            bool makeDefaultCheckboxExist = addNewPaymentPage.ElementOnPageIsPresent(AddPaymentElements.DefaultCheckbox);

            Assert.IsTrue(makeDefaultCheckboxExist, "Default checkbox does not exist");

            addNewPaymentPage.ClickOnSubmit();
            addNewPaymentPage.WaitForAppBusy();
            paymentsPage = addNewPaymentPage.CloseModal(ModalsEnum.Information);
            Thread.Sleep(1000);

            List <string> items   = paymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList();
            string        payment = items.FirstOrDefault(it => it.Contains($"{cardtoken.LastFourDigits} {cardtoken.ExpirationMont}/{cardtoken.ExpirationYear}"));

            Assert.IsNotNull(payment, "Payment is not found");
        }
        public void Setup()
        {
            client  = TestClient.Create(2, 2);
            address = client.Addresses[0];

            source.SourceType = PriceSourceType.Email;
            source.Save();

            ImapHelper.ClearImapFolder(Settings.Default.TestIMAPUser, Settings.Default.TestIMAPPass, Settings.Default.IMAPSourceFolder);
        }
Beispiel #6
0
        protected string[] GetFileForAddress(DocType documentsType, TestAddress address = null)
        {
            if (address == null)
            {
                address = client.Addresses[0];
            }
            var clientDirectory = Path.Combine(Settings.Default.DocumentPath, address.Id.ToString().PadLeft(3, '0'));

            return(Directory.GetFiles(Path.Combine(clientDirectory, documentsType + "s"), "*.*", SearchOption.AllDirectories));
        }
Beispiel #7
0
        //[TestCategory(TestCategoriesConstants.ReadyToGo)]
        public void AddPaymentOptionIntlAddress()
        {
            var testUser = DataFactory.Users.CreateTestUser();

            #region test data
            var testCardtoken = new PaymentOptionModel
            {
                CardNumber     = "5582508629687473",
                ExpirationMont = "12",
                ExpirationYear = "24",
                HolderName     = "Test corp",
                Cvv            = "077",
                LastFourDigits = "7473"
            };
            var testBillingAddress = new TestAddress
            {
                Country             = "MX",
                Name                = "SDET",
                StateProvinceRegion = "Estado de baja california",
                City                = "Ensenada",
                Street              = "Calle 10",
                Postal              = "22790",
                Apartment           = "Suite 24"
            };
            #endregion test data

            APIndexPage indexPage = new APIndexPage(Driver, Url);
            APLoginPage loginPage = indexPage.Header.ClickOnSignIn();
            indexPage = loginPage.Login(testUser.Username, testUser.Password);
            PaymentOptionsHomePage   paymentsHomePage = indexPage.Header.ClickOnPaymentOptions();
            PaymentOptionsCreatePage addPaymentPage   = paymentsHomePage.ClickOnAddNewCreditCard();
            addPaymentPage.FillCardTokenForm(testCardtoken);
            addPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.AddNew);
            addPaymentPage.SetInputAddressValue(AddressInputs.Country, testBillingAddress.Country);
            addPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, testBillingAddress.Name);
            addPaymentPage.SetInputAddressValue(AddressInputs.Street, testBillingAddress.Street);
            addPaymentPage.SetInputAddressValue(AddressInputs.Apartment, testBillingAddress.Apartment);
            addPaymentPage.SetInputAddressValue(AddressInputs.City, testBillingAddress.City);
            addPaymentPage.SetInputAddressValue(AddressInputs.State, testBillingAddress.StateProvinceRegion);
            addPaymentPage.SetInputAddressValue(AddressInputs.Postal, testBillingAddress.Postal);

            addPaymentPage.ClickOnSubmit();
            addPaymentPage.WaitForAppBusy();
            paymentsHomePage = addPaymentPage.CloseModal(ModalsEnum.Information);
            Thread.Sleep(500);

            List <string> items          = paymentsHomePage.GetPaymentsDropdownItems(AccessLevel.User).ToList();
            string        expectedResult = $"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}";
            string        payment        = items.FirstOrDefault(option => option.Contains(expectedResult));

            Assert.IsNotNull(payment, "Payment is not found");
        }
Beispiel #8
0
 public void Setup()
 {
     client       = TestClient.Create(session);
     testAddress  = client.Addresses[0];
     address      = Address.Find(testAddress.Id);
     settings     = WaybillSettings.Find(client.Id);
     supplier     = TestSupplier.CreateNaked(session);
     price        = supplier.Prices[0];
     appSupplier  = Supplier.Find(supplier.Id);
     docRoot      = Path.Combine(Settings.Default.DocumentPath, address.Id.ToString());
     waybillsPath = Path.Combine(docRoot, "Waybills");
     Directory.CreateDirectory(waybillsPath);
 }
Beispiel #9
0
        protected IList <TestDocumentLog> CheckDocumentLogEntry(int waitingCountEntries, TestAddress address = null)
        {
            if (address == null)
            {
                address = client.Addresses[0];
            }

            var logs = session.Query <TestDocumentLog>().Where(log =>
                                                               log.Client.Id == client.Id &&
                                                               log.Supplier.Id == supplier.Id &&
                                                               log.Address == address);

            Assert.That(logs.Count(), Is.EqualTo(waitingCountEntries));

            return(logs.ToList());
        }
Beispiel #10
0
        public void SelectPreviouslyStoredAddress(TestAddress address)
        {
            DomElement formContainer = DetailSection.GetElementWaitByCSS(DetailSectionCardTokenForm.locator);
            DomElement prevStoredAddressesDropdown = formContainer.GetElementWaitByCSS(DetailSectionCardTokenFormItemSelection.locator);

            string GetStreet()
            {
                if (string.IsNullOrEmpty(address.Apartment) || string.IsNullOrWhiteSpace(address.Apartment))
                {
                    return(address.Street + ",");
                }
                return(address.Street + ", " + address.Apartment);
            }

            string storedAddress = $@"{GetStreet()}
                {address.City}, {address.Country} {address.Postal}";

            SelectDropDownAutoCompleteOption(prevStoredAddressesDropdown, storedAddress);
        }
        private void InitializeAddress()
        {
            try
            {
                _context.Entry(address).State = EntityState.Detached;
            }
            catch (Exception)
            {
                // TODO: nothing...
            }

            address = new TestAddress()
            {
                AddressId     = 100,
                UserId        = 99,
                Street1       = "123 King Street",
                Street2       = "",
                City          = "Waterloo",
                ProvinceCode  = "ON",
                PostalCode    = "N2A 2K5",
                AddressTypeId = 3
            };
        }
Beispiel #12
0
        public void SetUserLevelPaymentAsDefault()
        {
            var testUser = DataFactory.Users.CreateTestUser();
            PaymentOptionModel testCardtoken = new PaymentOptionModel
            {
                CardNumber     = "5582508629687473",
                ExpirationMont = "12",
                ExpirationYear = "24",
                HolderName     = "Test corp",
                Cvv            = "077",
                LastFourDigits = "7473"
            };
            TestAddress testAddress = new TestAddress
            {
                Country             = "US",
                Name                = "QA Softtek Automation",
                StateProvinceRegion = "CO",
                City                = "Denver",
                Street              = "Elm street",
                Postal              = "22780",
                Apartment           = "24"
            };

            APIndexPage indexPage = new APIndexPage(Driver, Url);
            APLoginPage loginPage = indexPage.Header.ClickOnSignIn();

            indexPage = loginPage.Login(testUser.Email, testUser.Password);

            PaymentOptionsHomePage viewPaymentsPage = indexPage.Header.ClickOnPaymentOptions();

            //add payment process
            PaymentOptionsCreatePage addNewPaymentPage = viewPaymentsPage.ClickOnAddNewCreditCard();

            addNewPaymentPage.FillCardTokenForm(testCardtoken);
            addNewPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.AddNew);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, testAddress.Name);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.Street, testAddress.Street);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.Apartment, testAddress.Apartment);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.City, testAddress.City);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.State, testAddress.StateProvinceRegion);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.Postal, testAddress.Postal);
            addNewPaymentPage.ClickOnSubmit();
            addNewPaymentPage.WaitForAppBusy();
            viewPaymentsPage = addNewPaymentPage.CloseModal(ModalsEnum.Information);
            Thread.Sleep(1000);

            //validations begins here
            viewPaymentsPage.ClickOnPaymentOption(AccessLevel.User, testCardtoken);
            viewPaymentsPage.ContentModal.ClickOnMakeDefault();
            viewPaymentsPage.WaitForAppBusy();
            viewPaymentsPage.InfoModal.ClickOnClose();

            bool defaultLabelInDropdownItem = viewPaymentsPage.IsDefaultLabelPresentOnDropdownItem(AccessLevel.User);

            List <string> paymentsInDropdown       = viewPaymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList();
            string        firstPayment             = paymentsInDropdown.ElementAt(0);
            string        actualDefaultPaymentData = viewPaymentsPage.GetDefaultTilePaymentData(AccessLevel.User);

            Assert.IsTrue(defaultLabelInDropdownItem, "default fayment has not a label");
            //sort order check
            //Assert.IsTrue(firstPayment.Contains(stringTestPayment), "first payment is not the default one");
            Assert.IsTrue(actualDefaultPaymentData.Contains(testCardtoken.LastFourDigits));
            Assert.IsTrue(actualDefaultPaymentData.Contains($"{testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}"));

            bool accountTileIsPresent = viewPaymentsPage.ElementExistOnPage(AccessLevel.Account, ViewPaymentsElements.DefaultTile);

            Assert.IsFalse(accountTileIsPresent, "Account default tile should not exist here o:");
        }
Beispiel #13
0
        public void EditPaymentMakeDefault()
        {
            var testUser = DataFactory.Users.CreateTestUser();
            PaymentOptionModel testCardtoken = new PaymentOptionModel
            {
                LastFourDigits = "1111",
                Cvv            = "077",
                ExpirationMont = "12",
                ExpirationYear = "26",
                HolderName     = "pika",
                CardNumber     = "4111111111111111"
            };
            TestAddress testBillingAddress = new TestAddress
            {
                Country             = "MX",
                Name                = "SDET",
                StateProvinceRegion = "Estado de baja california",
                City                = "Ensenada",
                Street              = "Calle 3",
                Postal              = "22790",
                Apartment           = "Suite 24"
            };

            APIndexPage indexPage = new APIndexPage(Driver, Url);
            APLoginPage loginPage = indexPage.Header.ClickOnSignIn();

            loginPage.Login(testUser.Username, testUser.Password);
            PaymentOptionsHomePage paymentsPage = indexPage.Header.ClickOnPaymentOptions();

            PaymentOptionsCreatePage addPaymentPage = paymentsPage.ClickOnAddNewCreditCard();

            addPaymentPage.FillCardTokenForm(testCardtoken);
            addPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.AddNew);
            addPaymentPage.SetInputAddressValue(AddressInputs.Country, testBillingAddress.Country);
            addPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, testBillingAddress.Name);
            addPaymentPage.SetInputAddressValue(AddressInputs.Street, testBillingAddress.Street);
            addPaymentPage.SetInputAddressValue(AddressInputs.Apartment, testBillingAddress.Apartment);
            addPaymentPage.SetInputAddressValue(AddressInputs.City, testBillingAddress.City);
            addPaymentPage.SetInputAddressValue(AddressInputs.State, testBillingAddress.StateProvinceRegion);
            addPaymentPage.SetInputAddressValue(AddressInputs.Postal, testBillingAddress.Postal);

            addPaymentPage.ClickOnSubmit();
            addPaymentPage.WaitForAppBusy();
            paymentsPage = addPaymentPage.CloseModal(ModalsEnum.Information);

            //begin the test
            paymentsPage.ClickOnPaymentOption(AccessLevel.User, testCardtoken);
            PaymentOptionsEditPage editPaymentsPage = paymentsPage.ContentModal.ClickOnEdit();
            bool makeDefaultCheckboxExist           = editPaymentsPage.ElementOnPageIsPresent(AddPaymentElements.DefaultCheckbox);

            Assert.IsTrue(makeDefaultCheckboxExist, "Default checkbox does not exist");

            editPaymentsPage.ClickOnMakeDefault();
            bool isSubmitEnabled = editPaymentsPage.IsSubmitButtonEnabled();

            Assert.IsTrue(isSubmitEnabled, "The form cannot be submited");

            editPaymentsPage.ClickOnSubmit();
            editPaymentsPage.WaitForAppBusy();
            paymentsPage = editPaymentsPage.CloseModal(ModalsEnum.Information);

            List <string> items = paymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList();

            string payment = items.FirstOrDefault(it => it.Contains(
                                                      $"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}"));

            bool   defaultLabelInDropdownItem = paymentsPage.IsDefaultLabelPresentOnDropdownItem(AccessLevel.User);
            string actualDefaultPaymentData   = paymentsPage.GetDefaultTilePaymentData(AccessLevel.User);

            Assert.IsTrue(defaultLabelInDropdownItem, "Default label does not exist");
            Assert.IsTrue(actualDefaultPaymentData.Contains(testCardtoken.LastFourDigits), "Card last four digits cannot be found");
            Assert.IsTrue(actualDefaultPaymentData.Contains($"{testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}"), "Expiration date does not correspond");
            Assert.IsNotNull(payment, "Payment is not found");
        }
Beispiel #14
0
        public void AddCreditCardUsingPrevStoredAddress()
        {
            var         testData    = DataFactory.Users.CreateTestUser();
            TestAddress testAddress = new TestAddress
            {
                Country             = "US",
                Street              = "street test",
                Name                = "address company name",
                StateProvinceRegion = "CO",
                City                = "boulder",
                Postal              = "52809"
            };
            PaymentOptionModel testCardtoken = new PaymentOptionModel
            {
                CardNumber     = "4111111111111111",
                ExpirationMont = "12",
                ExpirationYear = "22",
                HolderName     = "Test holder",
                Cvv            = "077",
                LastFourDigits = "1111"
            };

            APIndexPage indexPage = new APIndexPage(Driver, Url);
            APLoginPage loginPage = indexPage.Header.ClickOnSignIn();

            indexPage = loginPage.Login(testData.Username, testData.Password);

            //Manually add an address
            AddressesHomePage addressesPage     = indexPage.Header.ClickOnAddresses();
            AddAddressPage    createAddressPage = addressesPage.ClickOnAddNewAddress();

            //Fill address form
            createAddressPage.SetInputValue(AddressInputs.CompanyName, testAddress.Name);
            createAddressPage.SetInputValue(AddressInputs.Street, testAddress.Street);
            createAddressPage.SetInputValue(AddressInputs.Apartment, testAddress.Apartment);
            createAddressPage.SetInputValue(AddressInputs.City, testAddress.City);
            createAddressPage.SetInputValue(AddressInputs.State, testAddress.StateProvinceRegion);
            createAddressPage.SetInputValue(AddressInputs.Postal, testAddress.Postal);

            addressesPage = createAddressPage.ClickOnSubmit();
            addressesPage.WaitForAppBusy();
            //TODO: check the logic on address create process
            addressesPage.WaitForAppBusy();
            addressesPage.InformationModal.ClickOnClose();

            //test begins here
            PaymentOptionsHomePage   paymentsPage      = addressesPage.Header.ClickOnPaymentOptions();
            PaymentOptionsCreatePage addNewPaymentPage = paymentsPage.ClickOnAddNewCreditCard();

            addNewPaymentPage.FillCardTokenForm(testCardtoken);
            addNewPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.Stored);
            addNewPaymentPage.SelectPreviouslyStoredAddress(testAddress);
            addNewPaymentPage.ClickOnSubmit();
            addNewPaymentPage.WaitForAppBusy();
            paymentsPage = addNewPaymentPage.CloseModal(ModalsEnum.Information);
            addNewPaymentPage.WaitForAppBusy();
            Thread.Sleep(500);

            List <string> items   = paymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList();
            string        payment = items.FirstOrDefault(it => it.Contains($"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}"));

            Assert.IsNotNull(payment, "Payment option is not found");
        }
Beispiel #15
0
        protected void CheckClientDirectory(int waitingFilesCount, DocType documentsType, TestAddress address = null)
        {
            var savedFiles = GetFileForAddress(documentsType, address);

            Assert.That(savedFiles.Count(), Is.EqualTo(waitingFilesCount));
        }
Beispiel #16
0
        public void EditInternationalAddress()
        {
            var         testUser           = DataFactory.Users.CreateTestUser();
            TestAddress testBillingAddress = new TestAddress
            {
                Country             = "MX",
                Name                = "SDET",
                StateProvinceRegion = "CO",
                City                = "test city",
                Street              = "elm street",
                Postal              = "22770",
                Apartment           = "Suite s4"
            };
            PaymentOptionModel testCardtoken = new PaymentOptionModel
            {
                LastFourDigits = "1111",
                Cvv            = "077",
                ExpirationMont = "12",
                ExpirationYear = "26",
                HolderName     = "pika",
                CardNumber     = "4111111111111111"
            };
            TestAddress expectedBillingAddress = new TestAddress
            {
                Country             = "MX",
                Name                = "SDET",
                StateProvinceRegion = "Estado de baja california",
                City                = "Ensenada",
                Street              = "Calle 3",
                Postal              = "22790",
                Apartment           = "Suite 24"
            };

            TestAddress actualBillingAddressValues = new TestAddress();

            APIndexPage indexPage = new APIndexPage(Driver, Url);
            APLoginPage loginPage = indexPage.Header.ClickOnSignIn();

            indexPage = loginPage.Login(testUser.Username, testUser.Password);
            PaymentOptionsHomePage paymentsHomePage = indexPage.Header.ClickOnPaymentOptions();

            //Add a new credit card
            PaymentOptionsCreatePage addPaymentPage = paymentsHomePage.ClickOnAddNewCreditCard();

            addPaymentPage.FillCardTokenForm(testCardtoken);
            addPaymentPage.SelectBillingAddressOption(BillingAddressOptionsEnum.AddNew);
            addPaymentPage.SetInputAddressValue(AddressInputs.Country, testBillingAddress.Country);
            addPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, testBillingAddress.Name);
            addPaymentPage.SetInputAddressValue(AddressInputs.Street, testBillingAddress.Street);
            addPaymentPage.SetInputAddressValue(AddressInputs.Apartment, testBillingAddress.Apartment);
            addPaymentPage.SetInputAddressValue(AddressInputs.City, testBillingAddress.City);
            addPaymentPage.SetInputAddressValue(AddressInputs.State, testBillingAddress.StateProvinceRegion);
            addPaymentPage.SetInputAddressValue(AddressInputs.Postal, testBillingAddress.Postal);

            addPaymentPage.ClickOnSubmit();
            addPaymentPage.WaitForAppBusy();
            paymentsHomePage = addPaymentPage.CloseModal(ModalsEnum.Information);
            Thread.Sleep(1000);

            //Begin testing here
            paymentsHomePage.ClickOnPaymentOption(AccessLevel.User, testCardtoken);

            PaymentOptionsEditPage editPaymentPage = paymentsHomePage.ContentModal.ClickOnEdit();

            editPaymentPage.WaitForAppBusy();
            editPaymentPage.ClickOnBillingAddressOption(BillingAddressOptions.NewOne);
            editPaymentPage.SetInputAddressValue(AddressInputs.Country, expectedBillingAddress.Country);
            editPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, expectedBillingAddress.Name);
            editPaymentPage.SetInputAddressValue(AddressInputs.Street, expectedBillingAddress.Street);
            editPaymentPage.SetInputAddressValue(AddressInputs.Apartment, expectedBillingAddress.Apartment);
            editPaymentPage.SetInputAddressValue(AddressInputs.City, expectedBillingAddress.City);
            editPaymentPage.SetInputAddressValue(AddressInputs.State, expectedBillingAddress.StateProvinceRegion);
            editPaymentPage.SetInputAddressValue(AddressInputs.Postal, expectedBillingAddress.Postal);

            editPaymentPage.ClickOnSubmit();
            editPaymentPage.WaitForAppBusy();
            paymentsHomePage = editPaymentPage.CloseModal(ModalsEnum.Information);
            Thread.Sleep(1000);

            //make sure the update has done
            paymentsHomePage.ClickOnPaymentOption(AccessLevel.User, testCardtoken);
            editPaymentPage = paymentsHomePage.ContentModal.ClickOnEdit();
            editPaymentPage.WaitForAppBusy();

            actualBillingAddressValues.Country             = editPaymentPage.GetBillingAddressInputValue(AddressInputs.Country);
            actualBillingAddressValues.Name                = editPaymentPage.GetBillingAddressInputValue(AddressInputs.CompanyName);
            actualBillingAddressValues.Street              = editPaymentPage.GetBillingAddressInputValue(AddressInputs.Street);
            actualBillingAddressValues.Apartment           = editPaymentPage.GetBillingAddressInputValue(AddressInputs.Apartment);
            actualBillingAddressValues.City                = editPaymentPage.GetBillingAddressInputValue(AddressInputs.City);
            actualBillingAddressValues.Postal              = editPaymentPage.GetBillingAddressInputValue(AddressInputs.Postal);
            actualBillingAddressValues.StateProvinceRegion = editPaymentPage.GetBillingAddressInputValue(AddressInputs.State);

            paymentsHomePage = editPaymentPage.ClickOnCancel();

            Assert.IsTrue(expectedBillingAddress.Name == actualBillingAddressValues.Name, $"Expected: '{expectedBillingAddress.Name}' Got: '{actualBillingAddressValues.Name}'");
            Assert.IsTrue(actualBillingAddressValues.Country.Contains(expectedBillingAddress.Country), $"Expected: '{expectedBillingAddress.Country}' Got: '{actualBillingAddressValues.Country}'");
            Assert.IsTrue(expectedBillingAddress.Street == actualBillingAddressValues.Street, $"Expected: '{expectedBillingAddress.Street}' Got: '{actualBillingAddressValues.Street}'");
            Assert.IsTrue(expectedBillingAddress.Apartment == actualBillingAddressValues.Apartment, $"Expected: '{expectedBillingAddress.Apartment}' Got: '{actualBillingAddressValues.Apartment}'");
            Assert.IsTrue(expectedBillingAddress.City == actualBillingAddressValues.City, $"Expected: '{expectedBillingAddress.City}' Got: '{actualBillingAddressValues.City}'");
            Assert.IsTrue(expectedBillingAddress.Postal == actualBillingAddressValues.Postal, $"Expected: '{expectedBillingAddress.Postal}' Got: '{actualBillingAddressValues.Postal}'");
            Assert.IsTrue(expectedBillingAddress.StateProvinceRegion == actualBillingAddressValues.StateProvinceRegion, $"Expected: '{expectedBillingAddress.StateProvinceRegion}' Got: '{actualBillingAddressValues.StateProvinceRegion}'");
        }
Beispiel #17
0
 private TestAddressBuilder()
 {
     _testAddress = new TestAddress();
 }
Beispiel #18
0
        public void DeleteUserLevelPayment()
        {
            var testUser = DataFactory.Users.CreateTestUser();

            #region testData
            PaymentOptionModel testCardtoken = new PaymentOptionModel
            {
                CardNumber     = "5582508629687473",
                ExpirationMont = "12",
                ExpirationYear = "24",
                HolderName     = "Test corp",
                Cvv            = "077",
                LastFourDigits = "7473"
            };
            TestAddress testAddress = new TestAddress
            {
                Country             = "US",
                Name                = "QA Softtek Automation",
                StateProvinceRegion = "CO",
                City                = "Denver",
                Street              = "Elm street",
                Postal              = "22780",
                Apartment           = "24"
            };
            #endregion testData

            APIndexPage indexPage = new APIndexPage(Driver, Url);
            APLoginPage loginPage = indexPage.Header.ClickOnSignIn();
            indexPage = loginPage.Login(testUser.Username, testUser.Password);

            PaymentOptionsHomePage   paymentsPage      = indexPage.Header.ClickOnPaymentOptions();
            PaymentOptionsCreatePage addNewPaymentPage = paymentsPage.ClickOnAddNewCreditCard();
            addNewPaymentPage.FillCardTokenForm(testCardtoken);
            addNewPaymentPage.ClickOnBillingAddressOption(BillingAddressOptions.NewOne);

            //Fill billing address form
            addNewPaymentPage.SetInputAddressValue(AddressInputs.CompanyName, testAddress.Name);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.Street, testAddress.Street);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.Apartment, testAddress.Apartment);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.City, testAddress.City);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.State, testAddress.StateProvinceRegion);
            addNewPaymentPage.SetInputAddressValue(AddressInputs.Postal, testAddress.Postal);

            bool makeDefaultCheckboxExist = addNewPaymentPage.ElementOnPageIsPresent(AddPaymentElements.DefaultCheckbox);

            Assert.IsTrue(makeDefaultCheckboxExist, "Default checkbox does not exist");

            addNewPaymentPage.ClickOnSubmit();
            addNewPaymentPage.WaitForAppBusy();
            paymentsPage = addNewPaymentPage.CloseModal(ModalsEnum.Information);
            Thread.Sleep(1000);

            //start deleting the payment
            int paymentsCountBefore = paymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList().Count;

            paymentsPage.ClickOnPaymentOption(
                AccessLevel.User,
                $"{testCardtoken.LastFourDigits} {testCardtoken.ExpirationMont}/{testCardtoken.ExpirationYear}");

            Thread.Sleep(2000);
            paymentsPage.ContentModal.ClickOnDelete();
            Thread.Sleep(1000);
            paymentsPage.ConfirmationModal.ClickOnDelete();
            paymentsPage.WaitForAppBusy();

            int paymentsCountAfter = paymentsPage.GetPaymentsDropdownItems(AccessLevel.User).ToList().Count;

            Assert.IsTrue(paymentsCountAfter == (paymentsCountBefore - 1), "Payment has not deleted");
        }
        private DocumentReceiveLog ParseFileForRedmine(string filename, bool createIssue = true,
                                                       bool changeValues = true, DocType documentType = DocType.Waybill, bool deleteCreatedDirectory = true,
                                                       bool priority     = false, bool priorityFull   = true, bool exceptionAdd = false)
        {
            var addressRed =
                session.Query <Address>()
                .FirstOrDefault(
                    s => (changeValues && s.Id != testAddress.Id) || (!changeValues && s.Id == testAddress.Id));
            var supplierRed =
                session.Query <Supplier>()
                .FirstOrDefault(s => (changeValues && s.Id != supplier.Id) || (!changeValues && s.Id == supplier.Id));

            supplierRed.RegionMask = addressRed.Client.MaskRegion;
            session.Save(supplierRed);

            if (exceptionAdd)
            {
                if (!session.Transaction.IsActive)
                {
                    session.BeginTransaction();
                }
                session.Transaction.Commit();
                session.BeginTransaction();
                session.Connection.Query(
                    $"INSERT INTO usersettings.WaybillExcludeFile (Supplier,Mask)  Values({supplierRed.Id} , '{"*.dbf"}')")
                .FirstOrDefault();

                session.Transaction.Commit();
                session.BeginTransaction();
                supplierRed =
                    session.Query <Supplier>()
                    .FirstOrDefault(s => (changeValues && s.Id != supplier.Id) || (!changeValues && s.Id == supplier.Id));
                session.Refresh(supplierRed);
            }

            var curretnClient = addressRed.Client;

            curretnClient.RedmineNotificationForUnresolved = true;
            session.Save(curretnClient);

            if (addressRed.Id != 0)
            {
                testAddress = new TestAddress {
                    Id = addressRed.Id
                };
            }
            if (supplier.Id != 0)
            {
                supplier = new TestSupplier {
                    Id = supplierRed.Id
                };
            }

            if (createIssue)
            {
                addressRed.Client.RedmineNotificationForUnresolved = true;
                session.Save(addressRed.Client);
            }
            else
            {
                addressRed.Client.RedmineNotificationForUnresolved = false;
                session.Save(addressRed.Client);
            }

            var log = new DocumentReceiveLog(supplierRed, addressRed)
            {
                FileName     = filename,
                DocumentType = documentType
            };

            session.Save(log);

            if (priority)
            {
                session.CreateSQLQuery($"INSERT INTO customers.Associations (Name) values('TestUser')")
                .ExecuteUpdate();
                var newAssociationId = session.CreateSQLQuery($"SELECT Id FROM customers.Associations WHERE Name = 'TestUser' LIMIT 1")
                                       .UniqueResult <uint>();
                session.CreateSQLQuery(
                    $"INSERT INTO customers.PromotionMembers (AssociationId,ClientId) values({newAssociationId},'{curretnClient.Id}')")
                .ExecuteUpdate();
                session.CreateSQLQuery(
                    $"Update usersettings.RetClientsSet SET IsStockEnabled = {(priorityFull ? "1" : "0")} , InvisibleOnFirm = 1 WHERE ClientCode = {curretnClient.Id} ")
                .ExecuteUpdate();
            }

            session.Flush();


            var fi  = new FileInfo(log.GetFileName());
            var str = fi.DirectoryName;

            if (!Directory.Exists(str))
            {
                Directory.CreateDirectory(str);
            }
            File.Delete(fi.FullName);
            File.Copy(@"..\..\Data\Waybills\" + log.FileName, fi.FullName);

            var w       = new WaybillService();
            var waybill = DocumentReceiveLog.Find(log.Id);

            w.Process(new EditableList <DocumentReceiveLog> {
                waybill
            });
            session.Flush();

            if (deleteCreatedDirectory && Directory.GetParent(str).Exists)
            {
                Directory.GetParent(str).Delete(true);
            }

            if (priority)
            {
                session.CreateSQLQuery($"DELETE FROM customers.Promoters WHERE Login = '******'").ExecuteUpdate();
            }

            return(log);
        }