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
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 ""
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
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
def test_factory_faulty_date_format(): with pytest.raises(TypeError): factory(json_order=interactive_message, format_str="faulty format")
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