public async Task <PublishResult> UpdateItemAsync(IWorkshopItemChangeSet settings) { await Task.Delay(100); _eventOrder += "u"; return(PublishResult.Ok); }
GivenTaskWithItemId_Title_Description_Folder_And_Visibility__WhenRunningTask__ShouldPublishWithSettings() { WorkshopItemSpy workshopItemSpy = new WorkshopItemSpy(); SteamWorkshopSpy workshopSpy = new SteamWorkshopSpy { WorkshopItemsById = { { ItemId, workshopItemSpy } } }; UpdateSteamWorkshopItemTask sut = new UpdateSteamWorkshopItemTask(workshopSpy) { AppId = AppId, ItemId = ItemId, ChangeSet = new WorkshopItemChangeSetStub { ChangeSetValidationResult = (true, null), Title = Title, DescriptionFilePath = DescriptionFilePath, ItemFolderPath = ExpectedDirectoryName, Visibility = WorkshopItemVisibility.Public, Tags = ExpectedTags } }; sut.Run(); IWorkshopItemChangeSet actual = workshopItemSpy.ReceivedSettings; Assert.AreEqual(AppId, workshopSpy.AppId); Assert.AreEqual(Title, actual.Title); Assert.AreEqual(DescriptionFilePath, actual.DescriptionFilePath); Assert.AreEqual(WorkshopItemVisibility.Public, actual.Visibility); Assert.AreEqual(ExpectedDirectoryName, actual.ItemFolderPath); Assert.AreEqual(ExpectedTags, actual.Tags); }
protected override SteamWorkshopTask CreateTaskWithChangeSet(IWorkshopItemChangeSet changeSet) { return(new UpdateSteamWorkshopItemTask(FacepunchSteamWorkshopAdapter.Instance) { ChangeSet = changeSet }); }
public override Task <WorkshopItemPublishResult> PublishNewWorkshopItemAsync(IWorkshopItemChangeSet settings) { ReceivedSettings = settings; CallOrder += "p"; return(Task.FromResult(WorkshopItemPublishResult)); }
private static void WithTags(IWorkshopItemChangeSet settings, ref Editor editor) { foreach (var tag in settings.Tags) { editor.WithTag(tag); } }
GivenTaskWithAppId_Title_Description_Language_Folder_And_Visibility__WhenRunningTask__ShouldPublishWithSettings() { SteamWorkshopSpy workshopSpy = MakeSteamWorkshopSpy(); WorkshopItemChangeSetStub changeSetStub = new WorkshopItemChangeSetStub { ChangeSetValidationResult = (true, null), Title = Title, DescriptionFilePath = DescriptionFilePath, ItemFolderPath = ExpectedDirectoryName, Language = Language, Visibility = WorkshopItemVisibility.Public, Tags = ExpectedTags }; CreateSteamWorkshopItemTask sut = MakeSutWithWorkshopAndChangeSet(workshopSpy, changeSetStub); sut.Run(); IWorkshopItemChangeSet actual = workshopSpy.ReceivedSettings; Assert.AreEqual(AppId, workshopSpy.AppId); Assert.AreEqual(Title, actual.Title); Assert.AreEqual(DescriptionFilePath, actual.DescriptionFilePath); Assert.AreEqual(Language, actual.Language); Assert.AreEqual(WorkshopItemVisibility.Public, actual.Visibility); Assert.AreEqual(ExpectedDirectoryName, actual.ItemFolderPath); Assert.AreEqual(ExpectedTags, actual.Tags); }
private static void UpdateContent(IWorkshopItemChangeSet settings, ref Editor editor) { if (settings.ItemFolderPath != null) { editor.WithContent(settings.ItemFolderPath); } }
private static CreateSteamWorkshopItemTask MakeSutWithWorkshopAndChangeSet(ISteamWorkshop workshop, IWorkshopItemChangeSet changeSet) { return(new CreateSteamWorkshopItemTask(workshop) { AppId = AppId, ChangeSet = changeSet }); }
GivenConfiguredTaskWithoutLanguage_And_Visibility__WhenRunningTask__ShouldPublishWith_EmptyDescription_PrivateVisibility_And_EnglishLanguage() { SteamWorkshopSpy workshopSpy = MakeSteamWorkshopSpy(); CreateSteamWorkshopItemTask sut = MakeSutWithWorkshopAndChangeSet(workshopSpy, CreateValidChangeSet()); sut.Run(); IWorkshopItemChangeSet actual = workshopSpy.ReceivedSettings; AssertPublishedWithDefaultSettings(actual); }
private static void UpdateDescription(IWorkshopItemChangeSet settings, ref Editor editor) { string description = null; if (settings.DescriptionFilePath != null) { FileInfo descriptionFile = new FileInfo(settings.DescriptionFilePath); using StreamReader streamReader = descriptionFile.OpenText(); description = streamReader.ReadToEnd(); } editor.WithDescription(description); }
public override async Task <WorkshopItemPublishResult> PublishNewWorkshopItemAsync( IWorkshopItemChangeSet settings) { Task <WorkshopItemPublishResult> publishTask = base.PublishNewWorkshopItemAsync(settings); Task.WaitAll(publishTask); WorkshopItemPublishResult workshopItemPublishResult = publishTask.Result; await Task.Delay(500); _eventOrder += "p"; return(workshopItemPublishResult); }
public async Task <PublishResult> UpdateItemAsync(IWorkshopItemChangeSet settings) { Editor editor = _item.Edit(); editor .WithTitle(settings.Title); UpdateDescription(settings, ref editor); UpdateVisibility(settings, ref editor); UpdateContent(settings, ref editor); UpdateTags(settings, ref editor); Steamworks.Ugc.PublishResult result = await editor.SubmitAsync(); return(result.Success ? PublishResult.Ok : PublishResult.Failed); }
private static void UpdateVisibility(IWorkshopItemChangeSet settings, ref Editor editor) { switch (settings.Visibility) { case WorkshopItemVisibility.Public: editor.WithPublicVisibility(); break; case WorkshopItemVisibility.Private: editor.WithPrivateVisibility(); break; default: throw new ArgumentOutOfRangeException(); } }
public async Task <WorkshopItemPublishResult> PublishNewWorkshopItemAsync(IWorkshopItemChangeSet settings) { Editor editor = Editor.NewCommunityFile; editor = EditorWithVisibility(settings.Visibility, ref editor) .ForAppId(AppId) .WithTitle(settings.Title) .WithDescription(settings.GetDescriptionTextFromFile()) .WithContent(new DirectoryInfo(settings.ItemFolderPath)) .InLanguage(settings.Language); WithTags(settings, ref editor); Steamworks.Ugc.PublishResult submitResult = await editor.SubmitAsync(); PublishResult publishResult = submitResult.Success ? PublishResult.Ok : PublishResult.Failed; return(new WorkshopItemPublishResult(submitResult.FileId, publishResult)); }
public Task <WorkshopItemPublishResult> PublishNewWorkshopItemAsync(IWorkshopItemChangeSet settings) { _eventOrder += "p"; return(Task.FromResult(new WorkshopItemPublishResult(0, PublishResult.Ok))); }
public virtual async Task <WorkshopItemPublishResult> PublishNewWorkshopItemAsync( IWorkshopItemChangeSet settings) { return(null); }
public override async Task <WorkshopItemPublishResult> PublishNewWorkshopItemAsync( IWorkshopItemChangeSet settings) { return(WorkshopItemPublishResult); }
private static void AssertPublishedWithDefaultSettings(IWorkshopItemChangeSet actual) { Assert.AreEqual("English", actual.Language); Assert.AreEqual(WorkshopItemVisibility.Private, actual.Visibility); }
protected abstract SteamWorkshopTask CreateTaskWithChangeSet(IWorkshopItemChangeSet changeSet);
protected BaseSteamWorkshopTaskBuilder() { FileSystem fileSystem = new FileSystem(); ChangeSet = new WorkshopItemChangeSet(fileSystem); }
public virtual async Task <PublishResult> UpdateItemAsync(IWorkshopItemChangeSet settings) { return(Result); }
public override Task <PublishResult> UpdateItemAsync(IWorkshopItemChangeSet settings) { ReceivedSettings = settings; return(base.UpdateItemAsync(settings)); }