Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class ActionActivity() : AdaptiveCardActivity(Name.AdaptiveCards.Action)
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required Api.AdaptiveCards.InvokeValue Value { get; set; }
public new required Api.AdaptiveCards.InvokeValue Value
{
get => (Api.AdaptiveCards.InvokeValue)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ public class HandoffActivity() : InvokeActivity(Name.Handoff)
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required HandoffActivityValue Value { get; set; }
public new required HandoffActivityValue Value
{
get => (HandoffActivityValue)base.Value!;
set => base.Value = value;
}
}

public class HandoffActivityValue
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class AnonQueryLinkActivity() : MessageExtensionActivity(Name.MessageExte
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required AppBasedQueryLink Value { get; set; }
public new required AppBasedQueryLink Value
{
get => (AppBasedQueryLink)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class FetchTaskActivity() : MessageExtensionActivity(Name.MessageExtensio
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required Api.MessageExtensions.Action Value { get; set; }
public new required Api.MessageExtensions.Action Value
{
get => (Api.MessageExtensions.Action)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class QueryActivity() : MessageExtensionActivity(Name.MessageExtensions.Q
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required Api.MessageExtensions.Query Value { get; set; }
public new required Api.MessageExtensions.Query Value
{
get => (Api.MessageExtensions.Query)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class QueryLinkActivity() : MessageExtensionActivity(Name.MessageExtensio
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required AppBasedQueryLink Value { get; set; }
public new required AppBasedQueryLink Value
{
get => (AppBasedQueryLink)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class QuerySettingUrlActivity() : MessageExtensionActivity(Name.MessageEx
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required Api.MessageExtensions.Query Value { get; set; }
public new required Api.MessageExtensions.Query Value
{
get => (Api.MessageExtensions.Query)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class SettingActivity() : MessageExtensionActivity(Name.MessageExtensions
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required Api.MessageExtensions.Query Value { get; set; }
public new required Api.MessageExtensions.Query Value
{
get => (Api.MessageExtensions.Query)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class SubmitActionActivity() : MessageExtensionActivity(Name.MessageExten
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required Api.MessageExtensions.Action Value { get; set; }
public new required Api.MessageExtensions.Action Value
{
get => (Api.MessageExtensions.Action)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@ public class SubmitActionActivity() : MessageActivity(Name.Messages.SubmitAction
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required SubmitActionValue Value { get; set; }
public new required SubmitActionValue Value
{
get => (SubmitActionValue)base.Value!;
set => base.Value = value;
}

/// <summary>
/// The Submit Action
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,9 @@ public class SearchActivity() : InvokeActivity(Name.Search)
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required SearchValue Value { get; set; }
public new required SearchValue Value
{
get => (SearchValue)base.Value!;
set => base.Value = value;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class TokenExchangeActivity() : SignInActivity(Name.SignIn.TokenExchange)
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required Api.SignIn.ExchangeToken Value { get; set; }
public new required Api.SignIn.ExchangeToken Value
{
get => (Api.SignIn.ExchangeToken)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class VerifyStateActivity() : SignInActivity(Name.SignIn.VerifyState)
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required Api.SignIn.StateVerifyQuery Value { get; set; }
public new required Api.SignIn.StateVerifyQuery Value
{
get => (Api.SignIn.StateVerifyQuery)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class FetchActivity() : TabActivity(Name.Tabs.Fetch)
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required Api.Tabs.Request Value { get; set; }
public new required Api.Tabs.Request Value
{
get => (Api.Tabs.Request)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class SubmitActivity() : TabActivity(Name.Tabs.Submit)
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required Api.Tabs.Request Value { get; set; }
public new required Api.Tabs.Request Value
{
get => (Api.Tabs.Request)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class FetchActivity() : TaskActivity(Name.Tasks.Fetch)
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required TaskModules.Request Value { get; set; }
public new required TaskModules.Request Value
{
get => (TaskModules.Request)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public class SubmitActivity() : TaskActivity(Name.Tasks.Submit)
/// </summary>
[JsonPropertyName("value")]
[JsonPropertyOrder(32)]
public new required TaskModules.Request Value { get; set; }
public new required TaskModules.Request Value
{
get => (TaskModules.Request)base.Value!;
set => base.Value = value;
}
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
using System.Text.Json;

using Microsoft.Teams.Api.Activities;
using Microsoft.Teams.Api.Activities.Invokes;

using static Microsoft.Teams.Api.Activities.Invokes.AdaptiveCards;

namespace Microsoft.Teams.Api.Tests.Activities.Invokes.AdaptiveCards;

public class AdaptiveCardsTests
Expand Down Expand Up @@ -31,4 +34,23 @@ public void AdaptiveCard_UnknownName_Throws()
var ex = Assert.Throws<JsonException>(() => Deserialize(json));
Assert.Contains("doesn't match any known types", ex.Message);
}

[Fact]
public void AdaptiveCard_Action_Value_AccessibleFromDerivedType()
{
var json = "{\"type\":\"invoke\",\"name\":\"adaptiveCard/action\",\"value\":{\"action\":{\"type\":\"Action.Submit\"}}}";
var activity = Deserialize(json);
var action = Assert.IsType<ActionActivity>(activity);
Assert.NotNull(action.Value);
Assert.NotNull(action.Value.Action);
}

[Fact]
public void AdaptiveCard_Action_Value_AccessibleFromBaseType()
{
var json = "{\"type\":\"invoke\",\"name\":\"adaptiveCard/action\",\"value\":{\"action\":{\"type\":\"Action.Submit\"}}}";
var activity = Deserialize(json);
var invoke = Assert.IsAssignableFrom<InvokeActivity>(activity);
Assert.NotNull(invoke.Value);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
using System.Text.Json;

using Microsoft.Teams.Api.Activities;
using Microsoft.Teams.Api.Activities.Invokes;

using static Microsoft.Teams.Api.Activities.Invokes.MessageExtensions;

namespace Microsoft.Teams.Api.Tests.Activities.Invokes.MessageExtensions;

public class MessageExtensionsTests
Expand Down Expand Up @@ -31,4 +34,23 @@ public void MessageExtension_UnknownName_Throws()
var ex = Assert.Throws<JsonException>(() => Deserialize(json));
Assert.Contains("doesn't match any known types", ex.Message);
}

[Fact]
public void MessageExtension_Query_Value_AccessibleFromDerivedType()
{
var json = "{\"type\":\"invoke\",\"name\":\"composeExtension/query\",\"value\":{\"commandId\":\"searchCmd\"}}";
MessageExtensionActivity? activity = Deserialize(json);
var query = Assert.IsType<QueryActivity>(activity);
Assert.NotNull(query.Value);
Assert.Equal("searchCmd", query.Value.CommandId);
}

[Fact]
public void MessageExtension_Query_Value_AccessibleFromBaseType()
{
var json = "{\"type\":\"invoke\",\"name\":\"composeExtension/query\",\"value\":{\"commandId\":\"searchCmd\"}}";
var activity = Deserialize(json);
var invoke = Assert.IsAssignableFrom<InvokeActivity>(activity);
Assert.NotNull(invoke.Value);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
using System.Text.Json;

using Microsoft.Teams.Api.Activities;
using Microsoft.Teams.Api.Activities.Invokes;

using static Microsoft.Teams.Api.Activities.Invokes.Tasks;

namespace Microsoft.Teams.Api.Tests.Activities.Invokes.Tasks;

public class TasksTests
Expand Down Expand Up @@ -31,4 +34,22 @@ public void Task_UnknownName_Throws()
var ex = Assert.Throws<JsonException>(() => Deserialize(json));
Assert.Contains("doesn't match any known types", ex.Message);
}

[Fact]
public void Task_Fetch_Value_AccessibleFromDerivedType()
{
var json = "{\"type\":\"invoke\",\"name\":\"task/fetch\",\"value\":{\"context\":{\"theme\":\"default\"}}}";
var activity = Deserialize(json);
var fetch = Assert.IsType<FetchActivity>(activity);
Assert.NotNull(fetch.Value);
}

[Fact]
public void Task_Fetch_Value_AccessibleFromBaseType()
{
var json = "{\"type\":\"invoke\",\"name\":\"task/fetch\",\"value\":{\"context\":{\"theme\":\"default\"}}}";
var activity = Deserialize(json);
var invoke = Assert.IsAssignableFrom<InvokeActivity>(activity);
Assert.NotNull(invoke.Value);
}
}
Loading