vendredi 30 janvier 2015

Grails test-app is not executing statement

I am writing unit test case for service class. There is one method called getMemberStatusAndCurrentProducts. I have full filled both the conditions but still it is not executing inner statements of this condition.



Map getMemberStatusAndCurrentProducts(Member member) {
def results = [:]

results.memberId = member.id
results.firstName = member.contactInfo.firstName
results.lastName = member.contactInfo.lastName
results.status = member.status
results.email = member.contactInfo.email

if (member.status == MemberStatusType.EXPIRED) {
results.products = (member.activeEnrollments.originatingOffer*.products)?.flatten()?.unique()?.sort() { it.name }
results.offerGroup = (member.activeEnrollments.originatingOffer*.offerGroup)?.flatten()?.unique()?.sort() { it?.name }
} else {
results.products = (member.activeEnrollments.originatingOffer*.products)?.flatten()?.unique()?.sort() { it.name }
results.offerGroup = (member.activeEnrollments.originatingOffer*.offerGroup)?.flatten()?.unique()?.sort() { it?.name }
}

return results
}


The if condition is shown covered but these statements are shown as uncovered



if (member.status == MemberStatusType.EXPIRED) {
results.products = (member.activeEnrollments.originatingOffer*.products)?.flatten()?.unique()?.sort() { it.name }
results.offerGroup = (member.activeEnrollments.originatingOffer*.offerGroup)?.flatten()?.unique()?.sort() { it?.name }
} else {
results.products = (member.activeEnrollments.originatingOffer*.products)?.flatten()?.unique()?.sort() { it.name }
results.offerGroup = (member.activeEnrollments.originatingOffer*.offerGroup)?.flatten()?.unique()?.sort() { it?.name }
}


Where activeEnrollments is method of Member domain, originatingOffer is an object of Offer domain. I am using test-app -coverage :unit <service_class> command to run unit test.


Can anyone help me in this issue.


Aucun commentaire:

Enregistrer un commentaire