def METHOD_NAME(tags_to_apply,
                  get_configuration, configure_environment,
                  restart_syscheckd, wait_for_fim_start):
    '''
    description: Check if the 'wazuh-syscheckd' performs a scan on the day of the week specified in
                 the 'scan_day' tag. For this purpose, the test will monitor a testing folder and
                 modify the system date to the day of the scan that should be performed. Then, it
                 will check if an FIM event, indicating that the scan is ended, is generated. Finally,
                 the test will verify that scans are not performed on a different day of the week
                 specified in the test case.
    wazuh_min_version: 4.2.0
    tier: 1
    parameters:
        - tags_to_apply:
            type: set
            brief: Run test if match with a configuration identifier, skip otherwise.
        - get_configuration:
            type: fixture
            brief: Get configurations from the module.
        - configure_environment:
            type: fixture
            brief: Configure a custom environment for testing.
        - restart_syscheckd:
            type: fixture
            brief: Clear the 'ossec.log' file and start a new monitor.
        - wait_for_fim_start:
            type: fixture
            brief: Wait for realtime start, whodata start, or end of initial FIM scan.
    assertions:
        - Verify that an FIM event is generated when the system date matches
          the day of the week specified for the scan.
        - Verify that scan is not performed on a different day of the week than scheduled.
    input_description: A test case (scan_day) is contained in external YAML file (wazuh_conf.yaml) which
                       includes configuration settings for the 'wazuh-syscheckd' daemon. These are combined
                       with the testing directory to be monitored and the scan days defined in the module.
    expected_output:
        - r'.*Sending FIM event: (.+)$' (at scan ends)
    tags:
        - scheduled
        - time_travel
    '''
    check_apply_test(tags_to_apply, get_configuration['tags'])
    day_of_week = {'monday': 0,
                   'tuesday': 1,
                   'wednesday': 2,
                   'thursday': 3,
                   'friday': 4,
                   'saturday': 5,
                   'sunday': 6
                   }
    current_day = datetime.now().weekday()
    scan_day = day_of_week[get_configuration['metadata']['scan_day']]
    day_diff = scan_day - current_day
    if day_diff < 0:
        day_diff %= 7
    elif day_diff == 0:
        with pytest.raises(TimeoutError):
            event = wazuh_log_monitor.start(timeout=global_parameters.default_timeout,
                                            callback=callback_detect_end_scan)
            raise AttributeError(f'Unexpected event {event}')
        return
    if day_diff > 1:
        check_time_travel(time_travel=True, interval=timedelta(days=day_diff - 1))
        with pytest.raises(TimeoutError):
            event = wazuh_log_monitor.start(timeout=global_parameters.default_timeout,
                                            callback=callback_detect_end_scan)
            raise AttributeError(f'Unexpected event {event}')
    check_time_travel(time_travel=True, interval=timedelta(days=1))
    wazuh_log_monitor.start(timeout=global_parameters.default_timeout, callback=callback_detect_end_scan,
                            error_message='Did not receive expected '
                                          '"File integrity monitoring scan ended" event')