diff --git a/Vonage.Test/Conversations/CreateMember/E2ETest.cs b/Vonage.Test/Conversations/CreateMember/E2ETest.cs index ed019020..38d3b57d 100644 --- a/Vonage.Test/Conversations/CreateMember/E2ETest.cs +++ b/Vonage.Test/Conversations/CreateMember/E2ETest.cs @@ -20,6 +20,38 @@ public Task CreateMember_WithApp() => this.CreateConversationAsync(this.Serialization.GetRequestJson(nameof(SerializationTest.ShouldSerializeApp)), SerializationTest.BuildAppRequest()); + [Fact] + public Task CreateMember_WithMessenger() => + this.CreateConversationAsync( + this.Serialization.GetRequestJson(nameof(SerializationTest.ShouldSerializeMessenger)), + SerializationTest.BuildMessengerRequest()); + + [Fact] + public Task CreateMember_WithMms() => + this.CreateConversationAsync(this.Serialization.GetRequestJson(nameof(SerializationTest.ShouldSerializeMms)), + SerializationTest.BuildMmsRequest()); + + [Fact] + public Task CreateMember_WithPhone() => + this.CreateConversationAsync(this.Serialization.GetRequestJson(nameof(SerializationTest.ShouldSerializePhone)), + SerializationTest.BuildPhoneRequest()); + + [Fact] + public Task CreateMember_WithSms() => + this.CreateConversationAsync(this.Serialization.GetRequestJson(nameof(SerializationTest.ShouldSerializeSms)), + SerializationTest.BuildSmsRequest()); + + [Fact] + public Task CreateMember_WithViber() => + this.CreateConversationAsync(this.Serialization.GetRequestJson(nameof(SerializationTest.ShouldSerializeViber)), + SerializationTest.BuildViberRequest()); + + [Fact] + public Task CreateMember_WithWhatsApp() => + this.CreateConversationAsync( + this.Serialization.GetRequestJson(nameof(SerializationTest.ShouldSerializeWhatsApp)), + SerializationTest.BuildWhatsAppRequest()); + private async Task CreateConversationAsync(string jsonRequest, Result request) { this.Helper.Server.Given(WireMock.RequestBuilders.Request.Create() diff --git a/Vonage.Test/Conversations/CreateMember/SerializationTest.cs b/Vonage.Test/Conversations/CreateMember/SerializationTest.cs index f90dd4e1..eda320f4 100644 --- a/Vonage.Test/Conversations/CreateMember/SerializationTest.cs +++ b/Vonage.Test/Conversations/CreateMember/SerializationTest.cs @@ -92,73 +92,91 @@ internal static Result BuildAppRequest() => [Fact] public void ShouldSerializePhone() => + BuildPhoneRequest() + .GetStringContent() + .Should() + .BeSuccess(this.helper.GetRequestJson()); + + internal static Result BuildPhoneRequest() => CreateMemberRequest.Build() .WithConversationId(ValidConversationId) .WithState(ValidState) .WithUser(ValidUser) .WithPhone(ValidNumber, ChannelType.App, ChannelType.Phone, ChannelType.Sms) - .Create() + .Create(); + + [Fact] + public void ShouldSerializeSms() => + BuildSmsRequest() .GetStringContent() .Should() .BeSuccess(this.helper.GetRequestJson()); - [Fact] - public void ShouldSerializeSms() => + internal static Result BuildSmsRequest() => CreateMemberRequest.Build() .WithConversationId(ValidConversationId) .WithState(ValidState) .WithUser(ValidUser) .WithSms(ValidNumber, ChannelType.App, ChannelType.Phone, ChannelType.Sms) - .Create() + .Create(); + + [Fact] + public void ShouldSerializeMms() => + BuildMmsRequest() .GetStringContent() .Should() .BeSuccess(this.helper.GetRequestJson()); - [Fact] - public void ShouldSerializeMms() => + internal static Result BuildMmsRequest() => CreateMemberRequest.Build() .WithConversationId(ValidConversationId) .WithState(ValidState) .WithUser(ValidUser) .WithMms(ValidNumber, ChannelType.App, ChannelType.Phone, ChannelType.Sms) - .Create() + .Create(); + + [Fact] + public void ShouldSerializeWhatsApp() => + BuildWhatsAppRequest() .GetStringContent() .Should() .BeSuccess(this.helper.GetRequestJson()); - [Fact] - public void ShouldSerializeWhatsApp() => + internal static Result BuildWhatsAppRequest() => CreateMemberRequest.Build() .WithConversationId(ValidConversationId) .WithState(ValidState) .WithUser(ValidUser) .WithWhatsApp(ValidNumber, ChannelType.App, ChannelType.Phone, ChannelType.Sms) - .Create() + .Create(); + + [Fact] + public void ShouldSerializeViber() => + BuildViberRequest() .GetStringContent() .Should() .BeSuccess(this.helper.GetRequestJson()); - [Fact] - public void ShouldSerializeViber() => + internal static Result BuildViberRequest() => CreateMemberRequest.Build() .WithConversationId(ValidConversationId) .WithState(ValidState) .WithUser(ValidUser) .WithViber(ValidId, ChannelType.App, ChannelType.Phone, ChannelType.Sms) - .Create() + .Create(); + + [Fact] + public void ShouldSerializeMessenger() => + BuildMessengerRequest() .GetStringContent() .Should() .BeSuccess(this.helper.GetRequestJson()); - [Fact] - public void ShouldSerializeMessenger() => + internal static Result BuildMessengerRequest() => CreateMemberRequest.Build() .WithConversationId(ValidConversationId) .WithState(ValidState) .WithUser(ValidUser) .WithMessenger(ValidId, ChannelType.App, ChannelType.Phone, ChannelType.Sms) - .Create() - .GetStringContent() - .Should() - .BeSuccess(this.helper.GetRequestJson()); + .Create(); } \ No newline at end of file