public async Task ThrowsIfcontextIsNull() { await Assert.ThrowsAsync <ArgumentException>(async() => await AllCommands.CreateAsync(null)); await Assert.ThrowsAsync <ArgumentException>(async() => await AllCommands.DeleteAsync(null)); await Assert.ThrowsAsync <ArgumentException>(async() => await AllCommands.UpdateAsync(null)); }
public async Task CreateAsyncHappyPath() { var request = new ConfigChangeRequest { Name = "name", Value = "value" }; var context = new CommandContext(CommandTypes.Create, request, model); model.StoreEntityAsync(Arg.Any <ConfigEntity>()).Returns(true); var result = await AllCommands.CreateAsync(context); Assert.True(result.IsSuccess); Assert.Equal("name", result.Result.Name); Assert.Equal("value", result.Result.Value); }
public async Task CreateAsyncStorageFailsReturnsStorageFailedOperationResult() { var request = new ConfigChangeRequest { Name = "name", Value = "value" }; var context = new CommandContext(CommandTypes.Create, request, model); model.StoreEntityAsync(Arg.Any <ConfigEntity>()).Returns(false); var result = await AllCommands.CreateAsync(context); Assert.False(result.IsSuccess); Assert.Null(result.Result); Assert.Equal(ResultType.Forbidden, result.ResultType); }
public async Task ThrowsOnWrongArgumentType(CommandTypes expected, CommandTypes incoming) { var context = new CommandContext(incoming, new ConfigChangeRequest() { Name = "name", Value = "value" }, model); if (expected == CommandTypes.Create) { await Assert.ThrowsAsync <ArgumentException>(async() => await AllCommands.CreateAsync(context)); } else if (expected == CommandTypes.Delete) { await Assert.ThrowsAsync <ArgumentException>(async() => await AllCommands.DeleteAsync(context)); } else if (expected == CommandTypes.UpdateValue) { await Assert.ThrowsAsync <ArgumentException>(async() => await AllCommands.UpdateAsync(context)); } else { throw new InvalidOperationException(); } }