public void CreateShouldReturnCreatedID() { var newScene = new Scene() { ID = 1 }; var newScript = new Script() { ID = 1 }; var newScriptCreate = new ScriptCreate { PilotID = 1, Scenes = new List <SceneCreate> { new SceneCreate() } }; _aviMock.Setup(x => x.AddScene(It.IsAny <Scene>())).Returns(newScene); _aviMock.Setup(x => x.AddScript(It.IsAny <Script>())).Returns(newScript); var newAviqtorBL = new ScriptController(_aviMock.Object, _blobSC); var result = newAviqtorBL.Create(newScriptCreate); Assert.IsAssignableFrom <CreatedID>(result); Assert.Equal(result.ID, newScriptCreate.PilotID); _aviMock.Verify(x => x.AddScene(It.IsAny <Scene>())); }
public async Task CreateShouldReturnCreatedID() { var newScene = new Scene() { ID = 1 }; var newScript = new Script() { ID = 1 }; var ccMock = new Mock <BlobContainerClient>(); var bcMock = new Mock <BlobClient>(); var newScriptCreate = new ScriptCreate { PilotID = 1, Scenes = new List <SceneCreate> { new SceneCreate() } }; _aviMock.Setup(x => x.AddScene(It.IsAny <Scene>())).Returns(newScene); _aviMock.Setup(x => x.AddScript(It.IsAny <Script>())).Returns(newScript); // _bscMock.Setup(x => x.CreateBlobContainer(It.IsAny<string>())).Returns(ccMock); var newAviqtorBL = new ScriptController(_aviMock.Object, _bscMock.Object); var result = newAviqtorBL.Create(newScriptCreate); Assert.IsAssignableFrom <CreatedID>(result); Assert.Equal(result.ID, newScriptCreate.PilotID); _aviMock.Verify(x => x.AddScene(It.IsAny <Scene>())); }
public CreatedID Create(ScriptCreate apiModel) { string scriptURL = null; Script sc = _aviBL.GetScriptByPilotID(apiModel.PilotID); if (sc != null) { scriptURL = sc.ScriptURL; _aviBL.DeleteScriptIfExists(apiModel.PilotID); } _aviBL.DeleteScenesIfExists(apiModel.PilotID); foreach (SceneCreate sceneApiModel in apiModel.Scenes) { sceneApiModel.PilotID = apiModel.PilotID; _aviBL.AddScene(sceneApiModel.ToDLModel()); } BlobContainerClient containerClient = _blobSC.GetBlobContainerClient($"pilot{apiModel.PilotID}"); if (!containerClient.Exists()) { containerClient = _blobSC.CreateBlobContainer($"pilot{apiModel.PilotID}", Azure.Storage.Blobs.Models.PublicAccessType.BlobContainer); } else if (scriptURL != null) { containerClient.DeleteBlob(scriptURL.Substring(scriptURL.LastIndexOf('/') + 1)); } BlobClient blobClient = containerClient.GetBlobClient($"script{Guid.NewGuid().ToString()}.html"); blobClient.Upload(GenerateStreamFromString(apiModel.ScriptBody)); apiModel.ScriptURL = blobClient.Uri.AbsoluteUri; return(new CreatedID { ID = _aviBL.AddScript(apiModel.ToDLModel()).ID }); }
public async Task ScriptCreate_ToDLModelShouldMapToScript() { var newScriptCreate = new ScriptCreate { PilotID = 1, //ScriptURL = "ScriptURL", // I can't access this because it's internal UserID = 1, }; var result = newScriptCreate.ToDLModel(); Assert.Equal(newScriptCreate.PilotID, result.PilotID); Assert.Equal(newScriptCreate.UserID, result.ScriptWriterID); }
public CreatedID Create(ScriptCreate apiModel) { foreach (SceneCreate sceneApiModel in apiModel.Scenes) { sceneApiModel.PilotID = apiModel.PilotID; _aviBL.AddScene(sceneApiModel.ToDLModel()); } BlobContainerClient containerClient = _blobSC.CreateBlobContainer($"pilot{apiModel.PilotID}", Azure.Storage.Blobs.Models.PublicAccessType.BlobContainer); BlobClient blobClient = containerClient.GetBlobClient($"script{Guid.NewGuid().ToString()}.html"); blobClient.Upload(GenerateStreamFromString(apiModel.ScriptBody)); apiModel.ScriptURL = blobClient.Uri.AbsoluteUri; return(new CreatedID { ID = _aviBL.AddScript(apiModel.ToDLModel()).ID }); }