示例#1
0
def test_factory():
    test_result = factory(json_order=interactive_message)
    assert isinstance(test_result, list)
    assert len(test_result) == 1
    assert isinstance(test_result[0], dict)
    for key in test_result[0]:
        assert test_result[0][key] is not None
示例#2
0
    def _add_action(self):
        events = factory(self.payload)
        if not events:
            return self.send_response(
                message="Wrong arguments for add command")

        log.info(f"Events is: {events}")
        user_name = events[0].get("user_name")[0]
        reason = events[0].get("reason")

        if not reason in self.config.get('valid_reasons'):
            message = f"Reason {reason} is not valid"
            log.debug(message)
            self.send_response(message=message)
            return ""

        self.date_start = events[0].get("event_date")
        self.date_end = events[-1].get("event_date")
        hours = events[0].get("hours")

        if self.check_lock_state():
            self.send_response(message="One or more of the events are locked")
            return ""

        self.send_attachment(attachment=submit_message_menu(
            user_name, reason, self.date_start, self.date_end, hours))
        return ""
示例#3
0
def test_wrong_hours_data_type():
    fake_order = dict(
        user_id="fake",
        user_name="fake mcFake",
        text=[f"fake_cmd=do_fake fake_reason today wrong_hours"],
    )
    assert factory(fake_order) is False
示例#4
0
def test_factory(date_string):
    fake_order = dict(
        user_id="fake",
        user_name="fake mcFake",
        text=[f"fake_cmd=do_fake fake_reason {date_string}"],
    )

    fake_result = factory(fake_order)
    assert isinstance(fake_result, list)
    test_data = fake_result.pop()
    assert isinstance(test_data.get("event_date"), str)
    for item in ("user_id", "user_name", "reason"):
        assert isinstance(test_data[item], str)

    assert int(test_data["hours"]) <= 8
示例#5
0
def test_factory_faulty_date_format():
    with pytest.raises(TypeError):
        factory(json_order=interactive_message, format_str="faulty format")
示例#6
0
def test_wrong_number_of_args_for_add(args_list):
    fake_order = dict(user_id="fake", user_name="fake mcFake", text=args_list)
    assert factory(fake_order) is False