def test_should_allow_confirmation_by_sending_email_if_user_is_not_confirmed(self, requests_mock): self.db.users.insert(test_user(confirmed=False)) # When: Confirm user rv = self.confirm_test_user() # Then self.assertEqual(rv.status_code, 200) assert_mailgun(requests_mock, EMAIL_ADDRESS, "Warsjawa - additional informations")
def test_should_resend_email_with_new_key_if_is_not_confirmed(self, requests_mock): # Given: database self.db.users.insert(test_user(confirmed=False)) # When: Post to users self.register_test_user() # Then assert_mailgun(requests_mock, EMAIL_ADDRESS, "Welcome to Warsjawa!")
def test_should_deny_confirmation_by_sending_email_if_user_already_confirmed(self, requests_mock): # Given: database self.db.users.insert(test_user(confirmed=True)) # When: Confirm user rv = self.confirm_test_user() # Then Return code is 304 and e-mail is sent self.assertEqual(rv.status_code, 304) assert_mailgun(requests_mock, EMAIL_ADDRESS, "You can not confirm twice")
def test_should_send_deny_email_if_already_registered(self, requests_mock): # Given: database self.db.users.insert(test_user(confirmed=True)) # When: Post to users rv = self.register_test_user() # Then key is without change self.assertEqual(rv.status_code, 304) assert_mailgun(requests_mock, EMAIL_ADDRESS, "We've got a problem here !")
def test_should_not_update_key_in_database_if_already_registered(self, requests_mock): # Given: database self.db.users.insert(test_user(confirmed=True)) # When: Post to users self.register_test_user() # Then key is without change self.assertEqual(self.db.users.count(), 1) user_in_db = self.db.users.find_one() self.assertDictContainsSubset( {"email": EMAIL_ADDRESS, "name": NAME, "key": TEST_KEY}, user_in_db)
def test_should_allow_confirmation_by_changing_state_if_user_is_not_confirmed(self, requests_mock): self.db.users.insert(test_user(confirmed=False)) # When: Confirm user self.confirm_test_user() # Then: User is confirmed self.assertEqual(self.db.users.count(), 1) user_in_db = self.db.users.find_one() self.assertDictContainsSubset( {"email": EMAIL_ADDRESS, "name": NAME, "key": TEST_KEY, "isConfirmed": True}, user_in_db)
def test_should_update_key_in_database_if_already_registered(self, requests_mock): # Given: database self.db.users.insert(test_user(confirmed=False)) # When: Post to users self.register_test_user() # Then Key is changed self.assertEqual(self.db.users.count(), 1) user_in_db = self.db.users.find_one() self.assertDictContainsSubset({"email": EMAIL_ADDRESS, "name": NAME}, user_in_db) self.assertIsNotNone(user_in_db["key"]) self.assertIsNot(user_in_db["key"], TEST_KEY)
def test_should_deny_confirmation_by_not_changing_the_key_if_user_already_confirmed(self, requests_mock): # Given: database self.db.users.insert(test_user(confirmed=True)) # When: Confirm user self.confirm_test_user() # Then Key is without change self.assertEqual(self.db.users.count(), 1) user_in_db = self.db.users.find_one() self.assertDictContainsSubset( {"email": EMAIL_ADDRESS, "name": NAME, "key": TEST_KEY, "isConfirmed": True}, user_in_db)