public async Task SetStory_NullInput_ReturnInvalidInput() { // Arrange var provider = new MockCharacterProvider(); var controller = new CharacterController(provider, new MockProgressionStrategy(), new GeneralOptions()); // Act var result = await controller.SetCharacterStoryAsync(1, null); // Existing var character = await controller.ShowCharacterAsync(1); // Assert Assert.True(GenericResult.InvalidInput().Equals(result)); }
/// <summary> /// Gets the caller's specified character by name, sets its story, and updates it. /// </summary> /// <param name="callerId">Discord ID of the caller.</param> /// <param name="story">The new story of the character.</param> /// <returns>A new CharacterResult object.</returns> public async Task <IResult> SetCharacterStoryAsync(ulong callerId, string story) { if (string.IsNullOrEmpty(story)) { return(GenericResult.InvalidInput()); } var character = await _provider.GetActiveCharacterAsync(callerId); if (character == null) { return(CharacterResult.CharacterNotFound()); } character.Story = story; await _provider.UpdateCharacterAsync(character); return(CharacterResult.CharacterUpdatedSuccessfully()); }