public async Task UpdateChannelSetRoles() { 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 newRoles = new List <ChannelRole> { ChannelRole.OrderExport, ChannelRole.ProductDistribution }; var updateActions = new List <UpdateAction <Channel> >(); var action = new SetRolesUpdateAction { Roles = newRoles }; updateActions.Add(action); var updatedChannel = await client .ExecuteAsync(new UpdateByIdCommand <Channel>(channel, updateActions)); Assert.Equal(newRoles, updatedChannel.Roles); return(updatedChannel); }); }
public async Task UpdateStateSetRoles() { await WithUpdateableState(client, stateDraft => DefaultStateDraftWithType(stateDraft, StateType.LineItemState), async state => { Assert.Empty(state.Roles); var stateRoles = new List <StateRole> { StateRole.Return }; var action = new SetRolesUpdateAction { 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); }); }