public async Task Integration_VimeoClient_UpdateTextTrackAsync() { // arrange VimeoClient client = CreateAuthenticatedClient(); var original = await client.GetTextTrackAsync(vimeoSettings.VideoId, vimeoSettings.TextTrackId); original.ShouldNotBeNull(); // act // update the text track record with some new values... var testName = "NewTrackName"; var testType = "subtitles"; var testLanguage = "fr"; var testActive = false; var updated = await client.UpdateTextTrackAsync( vimeoSettings.VideoId, vimeoSettings.TextTrackId, new TextTrack { name = testName, type = testType, language = testLanguage, active = testActive }); // inspect the result and ensure the values match what we expect... // assert testName.ShouldEqual(updated.name); testType.ShouldEqual(updated.type); testLanguage.ShouldEqual(updated.language); testActive.ShouldEqual(updated.active); // restore the original values... var final = await client.UpdateTextTrackAsync( vimeoSettings.VideoId, vimeoSettings.TextTrackId, new TextTrack { name = original.name, type = original.type, language = original.language, active = original.active }); // inspect the result and ensure the values match our originals... if (string.IsNullOrEmpty(original.name)) { final.name.ShouldBeNull(); } else { original.name.ShouldEqual(final.name); } if (string.IsNullOrEmpty(original.type)) { final.type.ShouldBeNull(); } else { original.type.ShouldEqual(final.type); } if (string.IsNullOrEmpty(original.language)) { final.language.ShouldBeNull(); } else { original.language.ShouldEqual(final.language); } original.active.ShouldEqual(final.active); }