def setUpClass(cls): super(TestAddress, cls).setUpClass() testing_proxy.install_module('nereid') country_obj = testing_proxy.pool.get('country.country') with Transaction().start(testing_proxy.db_name, 1, None) as txn: company = testing_proxy.create_company('Test Company') testing_proxy.set_company_for_user(1, company) cls.guest_user = testing_proxy.create_guest_user(company=company) cls.regd_user_id = testing_proxy.create_user_party( 'Registered User', '*****@*****.**', 'password', company ) cls.available_countries = country_obj.search([], limit=5) cls.site = testing_proxy.create_site( 'localhost', countries = [('set', cls.available_countries)], application_user = 1, guest_user = cls.guest_user ) testing_proxy.create_template( 'home.jinja', '{{get_flashed_messages()}}', cls.site) testing_proxy.create_template( 'login.jinja', '{{ login_form.errors }} {{get_flashed_messages()}}', cls.site) testing_proxy.create_template( 'registration.jinja', '{{ form.errors }} {{get_flashed_messages()}}', cls.site) testing_proxy.create_template( 'reset-password.jinja', '', cls.site) testing_proxy.create_template( 'change-password.jinja', '{{ change_password_form.errors }}', cls.site) testing_proxy.create_template( 'address-edit.jinja', 'Address Edit {{ form.errors }}', cls.site) testing_proxy.create_template( 'address.jinja', '', cls.site) testing_proxy.create_template( 'account.jinja', '', cls.site) # Create templates for activation emails testing_proxy.create_template( 'emails/activation-text.jinja', '', cls.site ) testing_proxy.create_template( 'emails/activation-html.jinja', '', cls.site ) testing_proxy.create_template( 'emails/reset-text.jinja', '', cls.site ) testing_proxy.create_template( 'emails/reset-html.jinja', '', cls.site ) txn.cursor.commit()
def test_0060_registered_with_address_of_some_other_user(self): """Sending full address to create with registered user""" with Transaction().start(testing_proxy.db_name, testing_proxy.user, testing_proxy.context) as txn: regd_user2_id = testing_proxy.create_user_party('Registered User 3', '*****@*****.**', 'password3', company=self.company) regd_user_id = self.address_obj.search([('id', '!=', regd_user2_id)])[0] regd_user2 = self.address_obj.browse(regd_user_id) party_id = regd_user2.party.id country = self.country_obj.browse(self.available_countries[0]) subdivision = country.subdivisions[0] txn.cursor.commit() app = self.get_app(DEBUG=True) with app.test_client() as c: rv = c.post('/en_US/login', data={ 'email': '*****@*****.**', 'password': '******', }) c.post('/en_US/cart/add', data={ 'product': self.product, 'quantity': 5 }) rv = c.get('/en_US/checkout') self.assertEqual(rv.status_code, 200) # Totally invalid data rv = c.post('/en_US/checkout', data={}) errors = rv.data self.assertTrue('payment_method' in errors) self.assertTrue('shipment_method' in errors) self.assertTrue('billing_address' in errors) self.assertTrue('shipping_address' in errors) # Invalid but providing that new_address is to be validated rv = c.post('/en_US/checkout', data={ 'billing_address': 0, 'shipping_same_as_billing': True }) errors = rv.data self.assertTrue('payment_method' in errors) self.assertTrue('shipment_method' in errors) self.assertTrue('new_billing_address' in errors) self.assertTrue('shipping_address' not in errors) # Providing complete information rv = c.post('/en_US/checkout', data={ 'billing_address' : regd_user_id, 'shipping_same_as_billing' : True, 'shipment_method' : 1, 'payment_method' : 1, }) self.assertEqual(rv.status_code, 200)
def test_0050_address_as_loggedin(self): "When address lookup is invoked as logged in user must succeed" with Transaction().start(testing_proxy.db_name, testing_proxy.user, testing_proxy.context) as txn: website_id, = self.website_obj.search([]) website = self.website_obj.browse(website_id) country_id = website.countries[0].id regd_user_id = testing_proxy.create_user_party( "Registered User", "*****@*****.**", "password", company=self.company ) regd_user = self.nereid_user_obj.browse(regd_user_id) address_id = regd_user.addresses[0].id self.address_obj.write(address_id, {"country": country_id}) txn.cursor.commit() app = self.get_app() with app.test_client() as c: rv = c.post("/en_US/login", data={"email": "*****@*****.**", "password": "******"}) result = c.get("/en_US/_available_gateways?value=%s&type=address" % address_id) json_result = json.loads(result.data)["result"] self.assertEqual(len(json_result), 1)
def setUpClass(cls): super(TestLinkedInAuth, cls).setUpClass() # Install module testing_proxy.install_module('nereid_auth_linkedin') with Transaction().start(testing_proxy.db_name, 1, None) as txn: country_obj = Pool().get('country.country') currency_obj = Pool().get('currency.currency') company = testing_proxy.create_company('Test Company') testing_proxy.set_company_for_user(1, company) cls.guest_user = testing_proxy.create_guest_user(company=company) cls.regd_user_id = testing_proxy.create_user_party( 'Registered User', '*****@*****.**', 'password', company ) cls.available_countries = country_obj.search([], limit=5) cls.available_currencies = currency_obj.search([ ('code', '=', 'USD') ]) cls.site = testing_proxy.create_site( 'localhost', countries = [('set', cls.available_countries)], currencies = [('set', cls.available_currencies)], application_user = 1, guest_user = cls.guest_user, ) testing_proxy.create_template( 'home.jinja', '{{ get_flashed_messages() }}', cls.site ) testing_proxy.create_template( 'login.jinja', '{{ login_form.errors }} {{ get_flashed_messages() }}', cls.site ) txn.cursor.commit()
def test_0050_registered_with_new_address(self): """Sending full address to create with registered user""" with Transaction().start(testing_proxy.db_name, testing_proxy.user, testing_proxy.context) as txn: regd_user_id = testing_proxy.create_user_party('Registered User 2', '*****@*****.**', 'password2', company=self.company) regd_user = self.nereid_user_obj.browse(regd_user_id) party_id = regd_user.party.id country = self.country_obj.browse(self.available_countries[0]) subdivision = country.subdivisions[0] txn.cursor.commit() app = self.get_app(DEBUG=True) with app.test_client() as c: rv = c.post('/en_US/login', data={ 'email': '*****@*****.**', 'password': '******', }) c.post('/en_US/cart/add', data={ 'product': self.product, 'quantity': 5 }) rv = c.get('/en_US/checkout') self.assertEqual(rv.status_code, 200) # Totally invalid data rv = c.post('/en_US/checkout', data={}) errors = rv.data self.assertTrue('payment_method' in errors) self.assertTrue('shipment_method' in errors) self.assertTrue('billing_address' in errors) self.assertTrue('shipping_address' in errors) # Invalid but providing that new_address is to be validated rv = c.post('/en_US/checkout', data={ 'billing_address': 0, 'shipping_same_as_billing': True }) errors = rv.data self.assertTrue('payment_method' in errors) self.assertTrue('shipment_method' in errors) self.assertTrue('new_billing_address' in errors) self.assertTrue('shipping_address' not in errors) # Providing complete information rv = c.post('/en_US/checkout', data={ 'billing_address' : 0, 'new_billing_address-name' : 'Name', 'new_billing_address-street' : 'Street', 'new_billing_address-streetbis' : 'Streetbis', 'new_billing_address-zip' : 'ZIP', 'new_billing_address-city' : 'City', 'new_billing_address-email' : '*****@*****.**', 'new_billing_address-phone' : '1234567', 'new_billing_address-country' : country.id, 'new_billing_address-subdivision' : subdivision.id, 'shipping_same_as_billing' : True, 'shipment_method' : 1, 'payment_method' : 1, }) self.assertEqual(rv.status_code, 302) with Transaction().start(testing_proxy.db_name, testing_proxy.user, testing_proxy.context): sale_ids = self.sale_obj.search([('party', '=', party_id)]) self.assertEqual(len(sale_ids), 1) sale = self.sale_obj.browse(sale_ids[0]) self.assertEqual(sale.total_amount, Decimal('50')) self.assertEqual(sale.tax_amount, Decimal('0')) self.assertEqual(len(sale.lines), 1) self.assertEqual(sale.state, 'confirmed')
def test_0040_registered(self): """Invalid but with existing address chosen""" with Transaction().start(testing_proxy.db_name, testing_proxy.user, testing_proxy.context) as txn: regd_user_id = testing_proxy.create_user_party('Registered User', '*****@*****.**', 'password', company=self.company) regd_user = self.nereid_user_obj.browse(regd_user_id) address_id = regd_user.addresses[0].id party_id = regd_user.party.id txn.cursor.commit() app = self.get_app(DEBUG=True) with app.test_client() as c: rv = c.post('/en_US/login', data={ 'email': '*****@*****.**', 'password': '******', }) c.post('/en_US/cart/add', data={ 'product': self.product, 'quantity': 5 }) rv = c.get('/en_US/checkout') self.assertEqual(rv.status_code, 200) # Totally invalid data rv = c.post('/en_US/checkout', data={}) errors = rv.data self.assertTrue('payment_method' in errors) self.assertTrue('shipment_method' in errors) self.assertTrue('billing_address' in errors) self.assertTrue('shipping_address' in errors) # Invalid but providing that new_address is to be validated rv = c.post('/en_US/checkout', data={ 'billing_address': 0, 'shipping_same_as_billing': True }) errors = rv.data self.assertTrue('payment_method' in errors) self.assertTrue('shipment_method' in errors) self.assertTrue('new_billing_address' in errors) self.assertTrue('shipping_address' not in errors) # Providing complete information rv = c.post('/en_US/checkout', data={ 'billing_address' : address_id, 'shipping_same_as_billing' : True, 'shipment_method' : 1, 'payment_method' : 1, }) self.assertEqual(rv.status_code, 302) with Transaction().start(testing_proxy.db_name, testing_proxy.user, testing_proxy.context): sale_ids = self.sale_obj.search([('party', '=', party_id)]) self.assertEqual(len(sale_ids), 1) sale = self.sale_obj.browse(sale_ids[0]) self.assertEqual(sale.total_amount, Decimal('50')) self.assertEqual(sale.tax_amount, Decimal('0')) self.assertEqual(len(sale.lines), 1) self.assertEqual(sale.state, 'confirmed')