def __init__(self) -> None: sample_users = [ CustomerUser.build( key=UserKey("c10001"), name=UserName("山田 太郎"), company_name=CompanyName("株式会社ラビィ"), ), CustomerUser.build( key=UserKey("c10002"), name=UserName("山田 次郎"), company_name=CompanyName("株式会社ラビィ"), ), SupportUser.build(key=UserKey("s90099"), name=UserName("佐藤 健太"),), ] self._users: Dict[UserKey, User] = {user.key: user for user in sample_users}
def test_valid_user_name(self): name = UserName("John Smith") assert isinstance(name, UserName)
def test_valid_user(self): user = build_customer_user(name="John One") assert isinstance(user, User) assert user.name == UserName("John One")
def test_invalid_too_long_user_name(self): with pytest.raises(AssertionError): UserName("a" * UserName.MAX_LENGTH + "x")
def test_invalid_too_short_user_name(self): with pytest.raises(AssertionError): UserName("ab")
def build_customer_user(name: Optional[str] = None) -> CustomerUser: return CustomerUser.build( key=UserKey.build_new(), name=UserName(name or "John Smith"), company_name=CompanyName("New Company"), )
from feedback.domain.feedback import ( Feedback, FeedbackTitle, FeedbackDescription, FeedbackStatus, FeedbackWithComments, FeedbackCollection, ) # 要望一覧 feedbacks = FeedbackCollection.build([]) # 顧客「山田 太郎」としてログイン login_user = CustomerUser.build( key=UserKey.build("c10001"), name=UserName("山田 太郎"), company_name=CompanyName("株式会社ラビィ"), ) # 要望を登録する requested_feedback = Feedback.build_new( user=login_user, title=FeedbackTitle("IE11でも動くようにして欲しい"), description=FeedbackDescription("会社でふだん使っているブラウザ(IE11)でも動くようにしてほしいです。"), ) feedbacks.append(requested_feedback) # カスタマーサポート「佐藤 次郎」としてログイン support_user = SupportUser.build( key=UserKey.build("s10099"), name=UserName("佐藤 次郎"),