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 UpdateAsyncConfigEntityNotFound() { var request = new ConfigChangeRequest { Name = "name", Value = "value" }; var context = new CommandContext(CommandTypes.UpdateValue, request, model); var expected = new ConfigEntity { Name = "name", Value = "old" }; model.GetEntityByNameAsync("name").Returns((ConfigEntity)null); var result = await AllCommands.UpdateAsync(context); Assert.False(result.IsSuccess); Assert.Null(result.Result); Assert.Equal(ResultType.NotFound, result.ResultType); }
public async Task UpdateAsyncConfigEntityNotStored() { var request = new ConfigChangeRequest { Name = "name", Value = "value" }; var context = new CommandContext(CommandTypes.UpdateValue, request, model); var expected = new ConfigEntity { Name = "name", Value = "old" }; model.GetEntityByNameAsync("name").Returns(expected); model.StoreEntityAsync(Arg.Any <ConfigEntity>()).Returns(false); var result = await AllCommands.UpdateAsync(context); Assert.False(result.IsSuccess); Assert.Null(result.Result); Assert.Equal(ResultType.Forbidden, result.ResultType); }
public async Task UpdateAsyncHappyPath() { var request = new ConfigChangeRequest { Name = "name", Value = "value" }; var context = new CommandContext(CommandTypes.UpdateValue, request, model); var expected = new ConfigEntity { Name = "name", Value = "old" }; model.GetEntityByNameAsync("name").Returns(expected); model.StoreEntityAsync(Arg.Any <ConfigEntity>()).Returns(true); var result = await AllCommands.UpdateAsync(context); await model.Received().StoreEntityAsync(Arg.Any <ConfigEntity>()); Assert.True(result.IsSuccess); Assert.Equal("name", result.Result.Name); Assert.Equal("value", result.Result.Value); }
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(); } }