Quality Assurance and Testing with Chai - Test if a String Contains a Substring

i am on the information security and Assurance curriculum now,
i passed the challenge as the code below:
I wonder why the answer (‘dart’, ‘queue’, “But a dart doesn’t contain a queue”) is notInclude rather than include, obviously there is dart and queue in the String?

/** 14 - #include (on #notInclude ) works for strings too !! **/
// It asserts that the actual string contains the expected substring

test('String #include, #notInclude', function() {
      assert.include('Arrow', 'row', "Arrow contains row...");
      assert.notInclude('dart', 'queue', "But a dart doesn't contain a queue");
    });


Thanks, Challenge URL : https://learn.freecodecamp.org/information-security-and-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-string-contains-a-substring

'dart' is the haystack
'queue' is the needle

Where in the haystack do you see the needle? In other words, when in the string ‘dart’ do you see the string ‘queue’?

describe('string notInclude test', () => {
    it('tests string does not contain substring', () => {
        assert.notInclude('queued', 'queue', "string does not contain substring");
    })
})

AssertionError: string does not contain substring: expected 'queued' to not include 'queue'

Thanks , i made a big mistake and dont know what is haystack and needle.
i thought assert.notInclude(arg1,arg2, parameter);
so silly :slight_smile:
Thank you!