const path = require('path') const modulePath = path.join( __dirname, '../../../../app/src/Features/Email/SpamSafe' ) const SpamSafe = require(modulePath) const { expect } = require('chai') describe('SpamSafe', function() { it('should reject spammy names', function() { expect(SpamSafe.isSafeUserName('Charline Wałęsa')).to.equal(true) expect( SpamSafe.isSafeUserName( "hey come buy this product im selling it's really good for you and it'll make your latex 10x guaranteed" ) ).to.equal(false) expect(SpamSafe.isSafeUserName('隆太郎 宮本')).to.equal(true) expect(SpamSafe.isSafeUserName('Visit haxx0red.com')).to.equal(false) expect( SpamSafe.isSafeUserName( '加美汝VX:hihi661,金沙2001005com the first deposit will be _100%_' ) ).to.equal(false) expect( SpamSafe.isSafeProjectName( 'Neural Networks: good for your health and will solve all your problems' ) ).to.equal(false) expect( SpamSafe.isSafeProjectName( 'An analysis of the questions of the universe!' ) ).to.equal(true) expect(SpamSafe.isSafeProjectName("A'p'o's't'r'o'p'h'e gallore")).to.equal( true ) expect( SpamSafe.isSafeProjectName( 'come buy this => http://www.dopeproduct.com/search/?q=user123' ) ).to.equal(false) expect( SpamSafe.isSafeEmail('realistic-email+1@domain.sub-hyphen.com') ).to.equal(true) expect(SpamSafe.isSafeEmail('notquiteRight@evil$.com')).to.equal(false) expect(SpamSafe.safeUserName('Tammy Weinstįen', 'A User')).to.equal( 'Tammy Weinstįen' ) expect(SpamSafe.safeUserName('haxx0red.com', 'A User')).to.equal('A User') expect(SpamSafe.safeUserName('What$ Upp', 'A User')).to.equal('A User') expect(SpamSafe.safeProjectName('Math-ematics!', 'A Project')).to.equal( 'Math-ematics!' ) expect( SpamSafe.safeProjectName( `A Very long title for a very long book that will never be read${'a'.repeat( 250 )}`, 'A Project' ) ).to.equal('A Project') expect( SpamSafe.safeEmail('safe-ëmail@domain.com', 'A collaborator') ).to.equal('safe-ëmail@domain.com') expect( SpamSafe.safeEmail('Բարեւ@another.domain', 'A collaborator') ).to.equal('Բարեւ@another.domain') expect( SpamSafe.safeEmail(`me+${'a'.repeat(40)}@googoole.con`, 'A collaborator') ).to.equal('A collaborator') expect( SpamSafe.safeEmail('sendME$$$@iAmAprince.com', 'A collaborator') ).to.equal('A collaborator') }) })