Exemplo n.º 1
0
 def test_createCoupon_SameCampaignSameName(self, description, payloadData):
     response, payload, campaignId = coupons.createCoupons(
         payloadData=payloadData)
     coupons.assertCreateCoupon(response, 200)
     secondResponse, secondPayload, campaignId = coupons.createCoupons(
         payloadData=payloadData, campaignId=campaignId)
     coupons.assertCreateCoupon(
         secondResponse, 400, 4005,
         'Coupon Exists Exception :  Coupon Already Exists for this Campaign '
     )
Exemplo n.º 2
0
 def test_createCoupon_MultipleCouponInSameCampaign(self, description,
                                                    payloadData):
     response, payload, campaignId = coupons.createCoupons(
         payloadData=payloadData)
     coupons.assertCreateCoupon(response, 200)
     failedResponse, failedCasepayload, campaignId = coupons.createCoupons(
         payloadData=payloadData, campaignId=campaignId)
     coupons.assertCreateCoupon(
         failedResponse, 400, 4005,
         'Coupon Exists Exception :  Coupon Already Exists for this Campaign '
     )
     coupons.assertCreateCouponDbCalls(response, payload, campaignId)
Exemplo n.º 3
0
 def setup_class(self):
     self.numberOfUsers = 20
     self.constructObj = LuciObject()
     self.DracarysObj = DracarysObject()
     self.DracraysConnObj = DracarysHelper.getConnObj(newConnection=True)
     self.campaigns = SocialHelper.createCampaignsForSocialThrift(
         testControlType=['ORG'])
     self.groupVersionid, self.groupName = SocialHelper.createListForSocial(
         self.campaigns,
         'ORG',
         numberOfUsers=self.numberOfUsers,
         newUser=True)
     self.remoteCampaignId = SocialHelper.createRemoteCampaignsForSocialThrift(
         self.campaigns['ORG'])
     SocialHelper.updateRemoteCampaignIdInCampaignsBase(
         self.campaigns['ORG'], self.remoteCampaignId)
     self.voucherSeriesId = coupons.createCoupons(
         campaignId=self.campaigns['ORG'],
         payloadData={
             'couponLimit': {
                 'limit': 0,
                 'type': 'UNLIMITED'
             },
             'discountOn': 'BILL',
             'discountType': 'ABS',
             'discountValue': 10
         })[0]['json']['entity']['voucherSeriesId']
     SocialHelper.couponConfigChange(
         {
             'client_handling_type': 'EXTERNAL_ISSUAL',
             'any_user': True
         }, self.campaigns['ORG'], self.voucherSeriesId)
Exemplo n.º 4
0
 def setup_class(self):
     Logger.logSuiteName(str(self).split('.')[-1])
     nsPort = constant.config['nsMasterPort']
     self.nsHelper = NSAdminHelper(constant.config['orgId'], 'SMS')
     luciPort = constant.config['luciPort'].next()
     self.luciObj = LuciThrift(luciPort)
     self.constructObj = LuciObject()
     constant.config['requestId'] = 'requestId_IRIS_LUCI'
     createListresponse, createListPayload, campaignId = campaignList.createList({'customTagCount':0, 'name':'IRIS_LIST_' + str(int(time.time() * 100000))}, campaignType=['LIVE', 'ORG', 'List', 'TAGS', 0])
     campaignList.assertCreateList(createListresponse, 200)
     groupVersionDetailResult, bucketId = campaignList.assertCreateListDbCalls(createListresponse['json']['entity']['listId'], createListPayload, 'ORG')
     Logger.log('GroupVersionId : {}, bucketId : {}'.format(groupVersionDetailResult, bucketId))
     addRecipientResponse, addRecipientPayload = campaignList.addRecipient({}, campaignId, createListresponse['json']['entity']['listId'], 'mobile', 10, 0, newUser=False)
     campaignList.assertAddRecipient(addRecipientResponse, 200)
     campaignList.assertAddRecipientDbCalls(addRecipientResponse, addRecipientPayload, createListresponse, campaignId, bucketId, {'TEST':groupVersionDetailResult['TEST'], 'CONTROL':groupVersionDetailResult['CONTROL']}, 'mobile')
     self.bucketId = bucketId
     self.groupVersionResult = dbCallsList.getGroupVersionDetailsWithGroupId(createListresponse['json']['entity']['listId'])
     responseCoupon, payloadCoupon, campaignId = coupons.createCoupons(campaignId=campaignId)
     self.strategy = construct.constructStrategyIds()
     self.programeId = self.strategy['programeId']
     self.allocationStrategyId = self.strategy['allocationStrategyId']
     self.expiryStrategyId = self.strategy['expirationStrategyId']
     if 'errors' not in responseCoupon['json']:
         self.voucherId = responseCoupon['json']['entity']['voucherSeriesId']
     else:
         self.voucherId = dbCallsCoupons.getVoucherSeriesIdUsingCampaignId(campaignId)
     self.campaignId = campaignId
     self.listId = createListresponse['json']['entity']['listId']
     Logger.log('Using CampaignId : {} , listId : {} for Execution of Create Message'.format(self.campaignId, self.listId))
Exemplo n.º 5
0
 def test_createCoupon_popMandatoryFields(self, description, fieldToPop,
                                          statusCode, errorCode,
                                          errorMessage):
     response, payload, campaignId = coupons.createCoupons(fieldToPop,
                                                           process='pop')
     coupons.assertCreateCoupon(response, statusCode, errorCode,
                                errorMessage)
Exemplo n.º 6
0
	def setup_class(self):
		self.numberOfUsers = 20
		self.campaigns = SocialHelper.createCampaignsForSocialThrift(testControlType=['CUSTOM'])
		self.groupVersionid,self.groupName = SocialHelper.createListForSocial(self.campaigns,'CUSTOM',numberOfUsers=self.numberOfUsers,newUser=True)
		self.remoteCampaignId = SocialHelper.createRemoteCampaignsForSocialThrift(self.campaigns['CUSTOM'])
		SocialHelper.updateRemoteCampaignIdInCampaignsBase(self.campaigns['CUSTOM'],self.remoteCampaignId)
		self.voucherSeriesId = coupons.createCoupons(campaignId=self.campaigns['CUSTOM'],payloadData={'couponLimit':{'limit':0, 'type':'UNLIMITED'}, 'discountOn':'BILL', 'discountType':'ABS', 'discountValue':10})[0]['json']['entity']['voucherSeriesId']
Exemplo n.º 7
0
 def test_createCoupon_campaignConceptType_CouponOrgType(
         self, description, payloadData):
     parentChild = dbCallsCoupons.getParentChildRelationOnEntities()
     Logger.log('Parent and Child Map :', parentChild)
     try:
         if construct.updateAuthenticate('concept') == True:
             conceptId = str(auth.authLogin()['json']['user']
                             ['aryaUserRoles']['CONCEPT'][0]['entityId'])
             createCampaignresponse, createCampaignPayload = campaigns.createCampaign(
                 {
                     'entityId': conceptId,
                     'name': 'IRIS_' + str(int(time.time())),
                     'goalId': constant.irisGenericValues['goalId'],
                     'objectiveId':
                     constant.irisGenericValues['objectiveId']
                 })
             if construct.updateAuthenticate() == True:
                 Logger.log('PayloadDate Including till list :',
                            payloadData)
                 response, payload, campaignId = coupons.createCoupons(
                     payloadData=payloadData,
                     campaignId=createCampaignresponse['json']['entity']
                     ['campaignId'])
                 coupons.assertCreateCoupon(
                     response, 400, 4004,
                     'Coupon Request Body Violation Exception :  Creation of Coupon for this campaign is not allowed for this user'
                 )
         else:
             Assertion.constructAssertion(
                 False,
                 'Marking as Failed as Authenticate was not Properly Updated'
             )
     except AssertionError, exp:
         Assertion.constructAssertion(False,
                                      'Case Failed Due to :{}'.format(exp))
Exemplo n.º 8
0
 def test_createCoupon_passingStoreIdInTill_userConceptLevel(
         self, description, payloadData):
     parentChild = dbCallsCoupons.getParentChildRelationOnEntities()
     Logger.log('Parent and Child Map :', parentChild)
     try:
         if construct.updateAuthenticate('concept') == True:
             conceptId = str(auth.authLogin()['json']['user']
                             ['aryaUserRoles']['CONCEPT'][0]['entityId'])
             storeId = parentChild[conceptId].split(',')[0]
             payloadData.update({
                 'issuableTillIds': [storeId],
                 'redeemableTillIds': [storeId]
             })
             Logger.log('PayloadDate Including till list :', payloadData)
             response, payload, campaignId = coupons.createCoupons(
                 payloadData=payloadData)
             coupons.assertCreateCoupon(
                 response, 400, 4004,
                 'Coupon Request Body Violation Exception :  Invalid set of issuable till ids.'
             )
         else:
             Assertion.constructAssertion(
                 False,
                 'Marking as Failed as Authenticate was not Properly Updated'
             )
     except AssertionError, exp:
         Assertion.constructAssertion(False,
                                      'Case Failed Due to :{}'.format(exp))
Exemplo n.º 9
0
 def test_createCoupon_NegativeCases_Variation(self, description,
                                               payloadData, statusCode,
                                               errorCode, errorMessage):
     response, payload, campaignId = coupons.createCoupons(
         payloadData=payloadData, campaignType=['LIVE', 'ORG'])
     coupons.assertCreateCoupon(response, statusCode, errorCode,
                                errorMessage)
Exemplo n.º 10
0
 def test_createCoupon_tillsFromSameConcept_userConceptLevel(
         self, description, payloadData):
     parentChild = dbCallsCoupons.getParentChildRelationOnEntities()
     Logger.log('Parent and Child Map :', parentChild)
     try:
         if construct.updateAuthenticate('concept') == True:
             conceptId = str(auth.authLogin()['json']['user']
                             ['aryaUserRoles']['CONCEPT'][0]['entityId'])
             tillId = coupons.getTillFromParentEntity(
                 parentChild, conceptId)
             payloadData.update({
                 'issuableTillIds': [tillId],
                 'redeemableTillIds': [tillId]
             })
             Logger.log('PayloadDate Including till list :', payloadData)
             response, payload, campaignId = coupons.createCoupons(
                 payloadData=payloadData)
             coupons.assertCreateCoupon(response, 200)
             coupons.assertCreateCouponDbCalls(response, payload,
                                               campaignId)
         else:
             Assertion.constructAssertion(
                 False,
                 'Marking as Failed as Authenticate was not Properly Updated'
             )
     except AssertionError, exp:
         Assertion.constructAssertion(False,
                                      'Case Failed Due to :{}'.format(exp))
Exemplo n.º 11
0
    def preRequisitesForVenenoLine(testControlType='org'):
        userData = []
        for eachUser in constant.config['line']['user']:
            userData.append('Test,Automation,{}'.format(eachUser['userId']))
        campaignResponse, campaignPayload = campaigns.createCampaign({
            'name':
            'IRIS_' + str(int(time.time() * 100000)),
            'goalId':
            constant.irisGenericValues['goalId'],
            'objectiveId':
            constant.irisGenericValues['objectiveId'],
            'testControl': {
                'type': testControlType.upper(),
                'test': 90
            }
        })
        listResponse, listPayload, campaignId = campaignList.createList(
            {
                'customTagCount': 0,
                'name': 'IRIS_LIST_' + str(int(time.time() * 100000))
            },
            campaignId=campaignResponse['json']['entity']['campaignId'])
        addRecipientResponse, addRecipientPayload = campaignList.addRecipient(
            {
                'data': userData,
                'schema': 'firstName,lastName,userId'
            },
            campaignId,
            listResponse['json']['entity']['listId'],
            newUser=False)
        responseCoupon, payloadCoupon, campaignId = coupons.createCoupons(
            campaignId=campaignId)

        return {
            'campaignName':
            campaignPayload['name'],
            'campaignId':
            campaignId,
            'listId':
            listResponse['json']['entity']['listId'],
            'voucherId':
            responseCoupon['json']['entity']['voucherSeriesId'],
            'strategy':
            None,
            'programeId':
            None,
            'allocationStrategyId':
            None,
            'expiryStrategyId':
            None,
            'bucketId':
            dbCallsList.getGroupVersionDetailsWithGroupId(
                listResponse['json']['entity']['listId'])['TEST']['bucket_id'],
            'groupVersionResult':
            dbCallsList.getGroupVersionDetailsWithGroupId(
                listResponse['json']['entity']['listId']),
            'groupName':
            listPayload['name']
        }
Exemplo n.º 12
0
 def test_createCoupon_Timeout(self, description, payloadData):
     response, payload, campaignId = coupons.createCoupons(
         payloadData=payloadData, timeout=0.0001)
     time.sleep(5)
     campaignsInfo = dbCallsCampaign.getCampaignBaseFromCampaignId(
         campaignId)
     Assertion.constructAssertion(
         int(campaignsInfo['voucher_series_id']) != -1,
         'Checking Even After Timeout Voucher Series is Created with VoucherSeriesId :{}'
         .format(campaignsInfo['voucher_series_id']))
Exemplo n.º 13
0
 def test_createCoupon_tillIds_differentIssuableAndReedemableTills(
         self, description, payloadData):
     tillIdList = map(
         int,
         dbCallsCoupons.getEntityIdWithType()['TILL'].split(','))
     payloadData.update({
         'redeemableTillIds': [tillIdList[1]],
         'issuableTillIds': [tillIdList[0]]
     })
     Logger.log('PayloadDate Including till list :', payloadData)
     response, payload, campaignId = coupons.createCoupons(
         payloadData=payloadData)
     coupons.assertCreateCoupon(response, 200)
Exemplo n.º 14
0
    def preRequisitesForVeneno(testControlType='org'):
        if 'storeType' in constant.payload['createmessage']:
            constant.payload['createmessage'].pop('storeType')

        campaignResponse, campaignPayload = campaigns.createCampaign({
            'name':
            'IRIS_' + str(int(time.time() * 100000)),
            'goalId':
            constant.irisGenericValues['goalId'],
            'objectiveId':
            constant.irisGenericValues['objectiveId'],
            'testControl': {
                'type': testControlType.upper(),
                'test': 90
            }
        })
        listResponse, listPayload, campaignId = campaignList.createList(
            {
                'customTagCount': 1,
                'name': 'IRIS_LIST_' + str(int(time.time() * 100000))
            },
            campaignId=campaignResponse['json']['entity']['campaignId'])
        addRecipientResponse, addRecipientPayload = campaignList.addRecipient(
            {},
            campaignId,
            listResponse['json']['entity']['listId'],
            'mobile,email',
            10,
            1,
            newUser=False)
        responseCoupon, payloadCoupon, campaignId = coupons.createCoupons(
            campaignId=campaignId)
        strategyDict = construct.constructStrategyIds()
        groupVersionDict = dbCallsList.getGroupVersionDetailsWithGroupId(
            listResponse['json']['entity']['listId'])

        return {
            'campaignId': campaignId,
            'listId': listResponse['json']['entity']['listId'],
            'voucherId': responseCoupon['json']['entity']['voucherSeriesId'],
            'strategy': strategyDict,
            'programeId': strategyDict['programeId'],
            'allocationStrategyId': strategyDict['allocationStrategyId'],
            'expiryStrategyId': strategyDict['expirationStrategyId'],
            'bucketId': groupVersionDict['TEST']['bucket_id'],
            'groupVersionResult': groupVersionDict,
            'groupName': listPayload['name']
        }
Exemplo n.º 15
0
    def setup_class(self):
        if 'storeType' in constant.payload['createmessage']:
            constant.payload['createmessage'].pop('storeType')

        campaignResponse, campaignPayload = campaigns.createCampaign({
            'name':
            'IRIS_' + str(int(time.time() * 100000)),
            'goalId':
            constant.irisGenericValues['goalId'],
            'objectiveId':
            constant.irisGenericValues['objectiveId'],
            'testControl': {
                'type': 'ORG',
                'test': 90
            }
        })
        listResponse, listPayload, campaignId = campaignList.createList(
            {
                'customTagCount': 1,
                'name': 'IRIS_LIST_' + str(int(time.time() * 100000))
            },
            campaignId=campaignResponse['json']['entity']['campaignId'])
        addRecipientResponse, addRecipientPayload = campaignList.addRecipient(
            {},
            campaignId,
            listResponse['json']['entity']['listId'],
            'mobile',
            10,
            1,
            newUser=False)
        responseCoupon, payloadCoupon, campaignId = coupons.createCoupons(
            campaignId=campaignId)

        self.campaignId = campaignId
        self.listId = listResponse['json']['entity']['listId']
        self.voucherId = responseCoupon['json']['entity']['voucherSeriesId']
        self.strategy = construct.constructStrategyIds()
        self.programeId = self.strategy['programeId']
        self.allocationStrategyId = self.strategy['allocationStrategyId']
        self.expiryStrategyId = self.strategy['expirationStrategyId']
        self.bucketId = dbCallsList.getGroupVersionDetailsWithGroupId(
            listResponse['json']['entity']['listId'])['TEST']['bucket_id']
        self.groupVersionResult = dbCallsList.getGroupVersionDetailsWithGroupId(
            listResponse['json']['entity']['listId'])
        Logger.log(
            'Veneno Setup Details --> campaignId:{} ,ListId:{} ,voucherId:{} ,strategy:{}, bucketId:{}, groupVersionDetail:{}'
            .format(self.campaignId, self.listId, self.voucherId,
                    self.strategy, self.bucketId, self.groupVersionResult))
Exemplo n.º 16
0
 def test_createCoupon_campaignIdNotInPassedOrg(self):
     campaignResponse, campaignPayload = campaigns.createCampaign({
         'name':
         'IRIS_' + str(int(time.time())),
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId']
     })
     previousOrgId = construct.updateOrgId(0)
     try:
         response, payload, campaignId = coupons.createCoupons(
             campaignId=campaignResponse['json']['entity']['campaignId'])
         coupons.assertCreateCoupon(
             response, 400, 1007,
             'Campaign Id Exception : Invalid Campaign Id Passed {}'.format(
                 campaignId))
     except AssertionError, exp:
         Assertion.constructAssertion(False, exp)
Exemplo n.º 17
0
 def setup_class(self):
     campaignMessage.getWeCRMTemplates()
     self.nonWechatOrgId = construct.updateOrgId(
         constant.config['wechat_org_id'])
     self.templateIdDict = campaignMessage.setupTemplateId()
     createListresponse, createListPayload, campaignId = campaignList.createList(
         {
             'customTagCount': 0,
             'name': 'IRIS_LIST_' + str(int(time.time() * 100000))
         },
         campaignId=Test_Wechat_CreateMessage.createCampaign())
     campaignList.assertCreateList(createListresponse, 200)
     groupVersionDetailResult, bucketId = campaignList.assertCreateListDbCalls(
         createListresponse['json']['entity']['listId'], createListPayload,
         'ORG')
     Logger.log('GroupVersionId : {}, bucketId : {}'.format(
         groupVersionDetailResult, bucketId))
     addRecipientResponse, addRecipientPayload = campaignList.addRecipient(
         Test_Wechat_CreateMessage.addRecipientPayload(), campaignId,
         createListresponse['json']['entity']['listId'])
     campaignList.assertAddRecipient(addRecipientResponse, 200)
     responseCoupon, payloadCoupon, campaignId = coupons.createCoupons(
         campaignId=campaignId)
     self.groupVersionResult = dbCallsList.getGroupVersionDetailsWithGroupId(
         createListresponse['json']['entity']['listId'])
     self.bucketId = bucketId
     self.strategy = construct.constructStrategyIds()
     self.programeId = self.strategy['programeId']
     self.allocationStrategyId = self.strategy['allocationStrategyId']
     self.expiryStrategyId = self.strategy['expirationStrategyId']
     self.voucherId = responseCoupon['json']['entity']['voucherSeriesId']
     self.campaignId = campaignId
     self.listId = createListresponse['json']['entity']['listId']
     campaignMessage.updateDefaultMessageJson(self.campaignId, self.listId,
                                              self.voucherId, self.strategy,
                                              self.bucketId,
                                              self.groupVersionResult)
     constant.messagesDefault['updated'] = True
     Logger.log(
         'Using CampaignId : {} , listId : {} for Execution of Create Message'
         .format(self.campaignId, self.listId))
Exemplo n.º 18
0
 def test_createCoupon_wrongCampaignId(self, description, payloadData):
     response, payload, campaignId = coupons.createCoupons(
         payloadData=payloadData, campaignId=0)
     coupons.assertCreateCoupon(
         response, 400, 100,
         'Invalid request : Campaign id should be a positive value.')
Exemplo n.º 19
0
    def preRequisitesForVenenoWechat(userData=[], testControlType='org'):
        if len(userData) == 0:
            for eachUser in constant.config['wechat']['user']:
                userData.append(eachUser['firstName'] + ',' +
                                eachUser['lastName'] + ',' + eachUser['email'])

        if 'storeType' in constant.payload['createmessage']:
            constant.payload['createmessage'].pop('storeType')

        campaignResponse, campaignPayload = campaigns.createCampaign({
            'name':
            'IRIS_' + str(int(time.time() * 100000)),
            'goalId':
            constant.irisGenericValues['goalId'],
            'objectiveId':
            constant.irisGenericValues['objectiveId'],
            'testControl': {
                'type': testControlType.upper(),
                'test': 90
            }
        })
        listResponse, listPayload, campaignId = campaignList.createList(
            {
                'customTagCount': 0,
                'name': 'IRIS_LIST_' + str(int(time.time() * 100000))
            },
            campaignId=campaignResponse['json']['entity']['campaignId'])
        addRecipientResponse, addRecipientPayload = campaignList.addRecipient(
            {
                'data': userData,
                'schema': 'firstName,lastName,email'
            },
            campaignId,
            listResponse['json']['entity']['listId'],
            newUser=False)
        responseCoupon, payloadCoupon, campaignId = coupons.createCoupons(
            campaignId=campaignId)

        groupVersionDetails = dbCallsList.getGroupVersionDetailsWithGroupId(
            listResponse['json']['entity']['listId'])
        camapignGroupRecipientsData = {
            'TEST':
            dbCallsList.getAllUsersFromCampaignGroupRecipient(
                groupVersionDetails['TEST']['bucket_id'],
                groupVersionDetails['TEST']['id'])
        }
        if 'CONTROL' in groupVersionDetails:
            camapignGroupRecipientsData.update({
                'CONTROL':
                dbCallsList.getAllUsersFromCampaignGroupRecipient(
                    groupVersionDetails['CONTROL']['bucket_id'],
                    groupVersionDetails['CONTROL']['id'])
            })

        return {
            'campaignName':
            campaignPayload['name'],
            'campaignId':
            campaignId,
            'listId':
            listResponse['json']['entity']['listId'],
            'voucherId':
            responseCoupon['json']['entity']['voucherSeriesId'],
            'strategy':
            None,
            'programeId':
            None,
            'allocationStrategyId':
            None,
            'expiryStrategyId':
            None,
            'groupDetails':
            dbCallsList.getGroupDetailsWithListId(
                listResponse['json']['entity']['listId']),
            'campaignGroupRecipient':
            camapignGroupRecipientsData,
            'bucketId':
            groupVersionDetails['TEST']['bucket_id'],
            'groupVersionResult':
            groupVersionDetails,
            'groupName':
            listPayload['name'],
            'addRecipientPayload':
            addRecipientPayload
        }
Exemplo n.º 20
0
 def test_createCoupon_TillIds(self, description, payloadData):
     response, payload, campaignId = coupons.createCoupons(
         payloadData=payloadData)
     coupons.assertCreateCoupon(response, 200)
     coupons.assertCreateCouponDbCalls(response, payload, campaignId)
Exemplo n.º 21
0
    def preRequisitesForVenenoMobilePush(commChannelType,
                                         testControlType='org'):
        singleUserProfile = dbCallsAuthorize.getUserForMobilePush(
            commChannelType)[0]
        secondUserProfile = dbCallsAuthorize.getUserForMobilePush(
            commChannelType)[1]
        userData = [
            'Test,Automation,' + str(singleUserProfile['userId']),
            'Test,Automation,' + str(secondUserProfile['userId'])
        ]

        if 'storeType' in constant.payload['createmessage']:
            constant.payload['createmessage'].pop('storeType')

        campaignResponse, campaignPayload = campaigns.createCampaign({
            'name':
            'IRIS_' + str(int(time.time() * 100000)),
            'goalId':
            constant.irisGenericValues['goalId'],
            'objectiveId':
            constant.irisGenericValues['objectiveId'],
            'testControl': {
                'type': testControlType.upper(),
                'test': 90
            }
        })
        listResponse, listPayload, campaignId = campaignList.createList(
            {
                'customTagCount': 0,
                'name': 'IRIS_LIST_' + str(int(time.time() * 100000))
            },
            campaignId=campaignResponse['json']['entity']['campaignId'])
        addRecipientResponse, addRecipientPayload = campaignList.addRecipient(
            {
                'data': userData,
                'schema': 'firstName,lastName,userId'
            },
            campaignId,
            listResponse['json']['entity']['listId'],
            newUser=False)
        responseCoupon, payloadCoupon, campaignId = coupons.createCoupons(
            campaignId=campaignId)

        groupVersionDetails = dbCallsList.getGroupVersionDetailsWithGroupId(
            listResponse['json']['entity']['listId'])
        camapignGroupRecipientsData = {
            'TEST':
            dbCallsList.getAllUsersFromCampaignGroupRecipient(
                groupVersionDetails['TEST']['bucket_id'],
                groupVersionDetails['TEST']['id'])
        }
        if 'CONTROL' in groupVersionDetails:
            camapignGroupRecipientsData.update({
                'CONTROL':
                dbCallsList.getAllUsersFromCampaignGroupRecipient(
                    groupVersionDetails['CONTROL']['bucket_id'],
                    groupVersionDetails['CONTROL']['id'])
            })

        return {
            'campaignName':
            campaignPayload['name'],
            'campaignId':
            campaignId,
            'listId':
            listResponse['json']['entity']['listId'],
            'voucherId':
            responseCoupon['json']['entity']['voucherSeriesId'],
            'strategy':
            None,
            'programeId':
            None,
            'allocationStrategyId':
            None,
            'expiryStrategyId':
            None,
            'groupDetails':
            dbCallsList.getGroupDetailsWithListId(
                listResponse['json']['entity']['listId']),
            'campaignGroupRecipient':
            camapignGroupRecipientsData,
            'bucketId':
            groupVersionDetails['TEST']['bucket_id'],
            'groupVersionResult':
            groupVersionDetails,
            'groupName':
            listPayload['name'],
            'addRecipientPayload':
            addRecipientPayload
        }