public async Task UpdateChannelAddRoles() { await WithUpdateableChannel(client, channelDraft => DefaultChannelDraftWithRoles(channelDraft, new List <ChannelRole> { ChannelRole.InventorySupply }), async channel => { Assert.Single(channel.Roles); Assert.Equal(ChannelRole.InventorySupply, channel.Roles[0]); var addedRoles = new List <ChannelRole> { ChannelRole.OrderExport }; var updateActions = new List <UpdateAction <Channel> >(); var action = new AddRolesUpdateAction { Roles = addedRoles }; updateActions.Add(action); var updatedChannel = await client .ExecuteAsync(new UpdateByIdCommand <Channel>(channel, updateActions)); Assert.Equal(2, updatedChannel.Roles.Count); Assert.Contains(updatedChannel.Roles, role => role == addedRoles[0]); return(updatedChannel); }); }
public async Task UpdateStateAddRoles() { await WithUpdateableState(client, stateDraft => DefaultStateDraftWithType(stateDraft, StateType.LineItemState), async state => { Assert.Empty(state.Roles); var stateRoles = new List <StateRole> { StateRole.Return }; var action = new AddRolesUpdateAction { Roles = stateRoles }; var updatedState = await client .ExecuteAsync(state.UpdateByKey(actions => actions.AddUpdate(action))); Assert.Single(updatedState.Roles); Assert.Equal(StateRole.Return, updatedState.Roles[0]); return(updatedState); }); }