def test_checkForDuplicateOrganizationName(self): orgName = 'test_checkForDuplicateOrganization' orgDesc = 'test org description' # Define our input JSON string. orgNameJSON = '{'; orgNameJSON += '"{key}":"{val}"'.format(key='org_name', val=orgName) orgNameJSON += '}' # Define an organization. testOrg = models.Organization() testOrg.name = orgName testOrg.description = orgDesc testOrg.entity = models.Entity() testOrg.entity.type = models.TYPE_ORGANIZATION testOrgJSON = controllers.organizationToJSON(testOrg) # Check for duplicates (should be no duplicates). resultDict = json.loads(orgNameJSON) result1 = controllers.checkForDuplicateOrganizationName(resultDict) resultDict = json.loads(result1) self.assertEqual(resultDict['result'], 'False') # Insert the organization (should succeed). resultDict = json.loads(testOrgJSON) result1 = controllers.registerOrganization(resultDict, self.db) resultDict = json.loads(result1) self.assertEqual(resultDict['result'], 'True') # Check for duplicates (should be duplicate). resultDict = json.loads(orgNameJSON) result1 = controllers.checkForDuplicateOrganizationName(resultDict) resultDict = json.loads(result1) self.assertEqual(resultDict['result'], 'True')
def test__checkForDuplicateOrganization(self): # Define an organization. testOrg = models.Organization() testOrg.name = 'test__checkForDuplicateOrganization' testOrg.description = 'test org description' testOrg.entity = models.Entity() testOrg.entity.type = models.TYPE_ORGANIZATION # Check for duplicates (should be no duplicates). isDuplicate = controllers._checkForDuplicateOrganization(testOrg) self.assertFalse(isDuplicate) # Insert the organization (should succeed). testOrgJSON = controllers.organizationToJSON(testOrg) resultDict = json.loads(testOrgJSON) result1 = controllers.registerOrganization(resultDict, self.db) resultDict = json.loads(result1) self.assertEqual(resultDict['result'], 'True') # Check for duplicates (should be duplicate). isDuplicate = controllers._checkForDuplicateOrganization(testOrg) self.assertTrue(isDuplicate)
def submit_org_form(): if request.method == 'POST' and is_request_json(): result = controllers.registerOrganization(request.json,db) return result else: return jsonify(msg='Other request method[%s]' % request.method)
def test_registerOrganization(self): ''' Construct our new organization. ''' testOrg = models.Organization() testOrg.name = 'Test Org' testOrg.description = 'A test organization' testOrg.entity = models.Entity() testOrg.entity.type = models.TYPE_ORGANIZATION corpAddr = models.Address() corpAddr.address1 = '123 Corporate Way' corpAddr.address2 = 'C/O Event Planning' corpAddr.address3 = 'PO Box 123' corpAddr.city = 'Vancouver' corpAddr.province = 'British Columbia' corpAddr.country = 'Canada' corpAddr.postalcode = '2C2C2C' corpAddr.isprimary = True testOrg.entity.addresses.append(corpAddr) subAddr = models.Address() subAddr.address1 = '15 Field Office blvd' subAddr.address2 = 'PO Box 15' subAddr.address3 = 'C/O People That Work' subAddr.city = 'Regina' subAddr.province = 'Saskatchewan' subAddr.country = 'Canada' subAddr.postalcode = '3S3S3S' subAddr.isprimary = False testOrg.entity.addresses.append(subAddr) corpContact = models.Contact() corpContact.type = models.TYPE_PHONE corpContact.value = '18001234567' corpContact.isprimary = True testOrg.entity.contacts.append(corpContact) corpContact2 = models.Contact() corpContact2.type = models.TYPE_EMAIL corpContact2.value = '*****@*****.**' corpContact2.isprimary = False testOrg.entity.contacts.append(corpContact2) subContact = models.Contact() subContact.type = models.TYPE_EMAIL subContact.value = '*****@*****.**' subContact.isprimary = False testOrg.entity.contacts.append(subContact) ''' Register the organization. ''' corpJSON = controllers.organizationToJSON(testOrg) resultDict = json.loads(corpJSON) result = controllers.registerOrganization(resultDict,self.db) ''' Validate the result response. ''' resultDict = json.loads(result) foundResult = False for key,value in resultDict.iteritems(): if(key == 'result'): foundResult = True self.assertEqual('True', value) self.assertEqual(foundResult, True) ''' Find the organization and compare to our structure. ''' savedOrg = models.Organization.query.filter_by(name = testOrg.name).first() self.assertNotEqual(savedOrg,None) self.assertEqual(savedOrg.name, testOrg.name) self.assertEqual(savedOrg.description, testOrg.description) self.assertEqual(savedOrg.entity.type, testOrg.entity.type) for a1,a2 in zip(savedOrg.entity.addresses, testOrg.entity.addresses): self.assertEqual(a1.address1, a2.address1) self.assertEqual(a1.address2, a2.address2) self.assertEqual(a1.address3, a2.address3) self.assertEqual(a1.city, a2.city) self.assertEqual(a1.province, a2.province) self.assertEqual(a1.country, a2.country) self.assertEqual(a1.postalcode, a2.postalcode) self.assertEqual(a1.isprimary, a2.isprimary) for c1,c2 in zip(savedOrg.entity.contacts, testOrg.entity.contacts): self.assertEqual(c1.type, c2.type) self.assertEqual(c1.value, c2.value) self.assertEqual(c1.isprimary, c2.isprimary) self.resetDB()
def test_registerDuplicateOrganization(self): ''' Construct our new organization. ''' testOrg = models.Organization() testOrg.name = 'Test Org' testOrg.description = 'A test organization' testOrg.entity = models.Entity() testOrg.entity.type = models.TYPE_ORGANIZATION corpAddr = models.Address() corpAddr.address1 = '123 Corporate Way' corpAddr.address2 = 'C/O Event Planning' corpAddr.address3 = 'PO Box 123' corpAddr.city = 'Vancouver' corpAddr.province = 'British Columbia' corpAddr.country = 'Canada' corpAddr.postalcode = '2C2C2C' corpAddr.isprimary = True testOrg.entity.addresses.append(corpAddr) subAddr = models.Address() subAddr.address1 = '15 Field Office blvd' subAddr.address2 = 'PO Box 15' subAddr.address3 = 'C/O People That Work' subAddr.city = 'Regina' subAddr.province = 'Saskatchewan' subAddr.country = 'Canada' subAddr.postalcode = '3S3S3S' subAddr.isprimary = False testOrg.entity.addresses.append(subAddr) corpContact = models.Contact() corpContact.type = models.TYPE_PHONE corpContact.value = '18001234567' corpContact.isprimary = True testOrg.entity.contacts.append(corpContact) corpContact2 = models.Contact() corpContact2.type = models.TYPE_EMAIL corpContact2.value = '*****@*****.**' corpContact2.isprimary = False testOrg.entity.contacts.append(corpContact2) subContact = models.Contact() subContact.type = models.TYPE_EMAIL subContact.value = '*****@*****.**' subContact.isprimary = False testOrg.entity.contacts.append(subContact) ''' Register the organization. ''' corpJSON = controllers.organizationToJSON(testOrg) resultDict = json.loads(corpJSON) result = controllers.registerOrganization(resultDict,self.db) ''' Validate the result response. ''' resultDict = json.loads(result) foundResult = False for key,value in resultDict.iteritems(): if(key == 'result'): foundResult = True self.assertEqual('True', value) self.assertEqual(foundResult, True) ''' Register the organization a second time. ''' resultDict = json.loads(corpJSON) result = controllers.registerOrganization(resultDict,self.db) ''' Validate the result response. ''' resultDict = json.loads(result) foundResult = False for key,value in resultDict.iteritems(): if(key == 'result'): foundResult = True self.assertEqual('duplicate', value) self.assertEqual(foundResult, True) self.resetDB()