/// <summary> /// Returns the desired command based on the provided <see cref="OptionObject2015"/> and parameter. /// </summary> /// <param name="optionObject"></param> /// <param name="parameter"></param> /// <returns></returns> public static IRunScriptCommand GetCommand(IOptionObject2015 optionObject, IParameter parameter) { if (optionObject == null) { logger.Error("The provided OptionObject2015 is null"); } IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject); logger.Debug("Script '" + parameter.ScriptName + "' requested."); // Get Dependencies ConnectionStringCollection odbcConnectionStrings = ConnectionStringSelector.GetConnectionStringCollection(); var repository = new GetOdbcDataRepository(odbcConnectionStrings); var smtpService = new SmtpService(); switch (parameter.ScriptName.ToUpperInvariant().Trim()) { #region General Purpose Commands #endregion #region PM/Cal-PM Commands #endregion #region CWS Commands #endregion #region MSO Commands #endregion #region Utility and Testing Commands case "GETODBCDATA": logger.Debug("{command} selected.", nameof(GetOdbcDataCommand)); return(new GetOdbcDataCommand(optionObjectDecorator, repository)); case "HELLOWORLD": logger.Debug(nameof(HelloWorldCommand) + " selected."); return(new HelloWorldCommand(optionObjectDecorator)); case "SENDEMAIL": logger.Debug("{command} selected.", nameof(SendEmailCommand)); return(new SendEmailCommand(optionObjectDecorator, smtpService)); case "SETFIELDVALUE": logger.Debug("{command} selected.", nameof(SetFieldValueCommand)); return(new SetFieldValueCommand(optionObjectDecorator, parameter)); #endregion default: logger.Warn(nameof(DefaultCommand) + " selected because ScriptName '" + parameter.ScriptName + "' does not match an existing command option."); return(new DefaultCommand(optionObjectDecorator, parameter)); } }
/// <summary> /// Returns the desired command based on the provided <see cref="OptionObject2015"/> and parameter. /// </summary> /// <param name="optionObject"></param> /// <param name="parameter"></param> /// <returns></returns> public static IRunScriptCommand GetCommand(IOptionObject2015 optionObject, IParameter parameter) { if (optionObject == null) { logger.Error("The provided {object} is null", nameof(OptionObject2015)); return(new DefaultScriptCommand(new OptionObjectDecorator(new OptionObject2015()), parameter)); } // Setup Decorator IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject); // Get Dependencies, such as repositories and services // Select Command logger.Debug("Script '" + parameter.ScriptName + "' requested."); switch (parameter.ScriptName) { case "GetErrorCode0": logger.Debug(nameof(GetErrorCode0Command) + " selected."); return(new GetErrorCode0Command(optionObjectDecorator)); case "GetErrorCode1": logger.Debug(nameof(GetErrorCode1Command) + " selected."); return(new GetErrorCode1Command(optionObjectDecorator)); case "GetErrorCode2": logger.Debug(nameof(GetErrorCode2Command) + " selected."); return(new GetErrorCode2Command(optionObjectDecorator)); case "GetErrorCode3": logger.Debug(nameof(GetErrorCode3Command) + " selected."); return(new GetErrorCode3Command(optionObjectDecorator)); case "GetErrorCode4": logger.Debug(nameof(GetErrorCode4Command) + " selected."); return(new GetErrorCode4Command(optionObjectDecorator)); case "GetErrorCode5": logger.Debug(nameof(GetErrorCode5Command) + " selected."); return(new GetErrorCode5Command(optionObjectDecorator)); case "GetErrorCode6": logger.Debug(nameof(GetErrorCode6Command) + " selected."); return(new GetErrorCode6Command(optionObjectDecorator)); case "GetFieldValue": logger.Debug(nameof(GetFieldValueCommand) + " selected."); return(new GetFieldValueCommand(optionObjectDecorator, parameter)); case "SetFieldValue": logger.Debug(nameof(SetFieldValueCommand) + " selected."); return(new SetFieldValueCommand(optionObjectDecorator, parameter)); default: logger.Debug(nameof(DefaultScriptCommand) + " selected."); return(new DefaultScriptCommand(optionObjectDecorator, parameter)); } }
public void RunScript_GetErrorCode6_OptionObject2_ReturnsErrorCode0() { // Arrange OptionObject2 optionObject = new OptionObject2(); OptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject); var command = new GetErrorCode6Command(optionObjectDecorator); // Act OptionObject2 returnOptionObject = (OptionObject2)command.Execute(); // Assert Assert.AreEqual(6, returnOptionObject.ErrorCode); }
public void RunScript_GetErrorCode6_OptionObject2015_FormCountEquals0() { // Arrange OptionObject2015 optionObject = new OptionObject2015(); OptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject); var command = new GetErrorCode6Command(optionObjectDecorator); // Act OptionObject2015 returnOptionObject = (OptionObject2015)command.Execute(); // Assert Assert.AreEqual(0, returnOptionObject.Forms.Count); }
public void GetCommand_HelloWorld_ReturnsHelloWorldCommand() { // Arrange OptionObject2015 optionObject2015 = new OptionObject2015(); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015); IParameter parameter = new Parameter("HelloWorld"); HelloWorldCommand expected = new HelloWorldCommand(optionObjectDecorator); // Act IRunScriptCommand actual = CommandSelector.GetCommand(optionObject2015, parameter); // Assert Assert.AreEqual(expected.GetType(), actual.GetType()); }
public void GetCommand_EmptyParameter_ReturnsDefaultCommand() { // Arrange OptionObject2015 optionObject2015 = new OptionObject2015(); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015); IParameter parameter = new Parameter(""); DefaultCommand expected = new DefaultCommand(optionObjectDecorator, parameter); // Act IRunScriptCommand actual = CommandSelector.GetCommand(optionObject2015, parameter); // Assert Assert.AreEqual(expected.GetType(), actual.GetType()); }
public void GetCommand_OptionObject2015_GetErrorCode0_ReturnsGetErrorCode0Command() { // Arrange OptionObject2015 optionObject = new OptionObject2015(); IParameter parameter = new Parameter("GetErrorCode0"); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject); GetErrorCode0Command expected = new GetErrorCode0Command(optionObjectDecorator); // Act IRunScriptCommand actual = CommandFactory.GetCommand(optionObject, parameter); // Assert Assert.AreEqual(expected.GetType(), actual.GetType()); }
public void GetCommand_OptionObject2_SetFieldValue_ReturnsSetFieldValueCommand() { // Arrange OptionObject2 optionObject = new OptionObject2(); IParameter parameter = new Parameter("SetFieldValue,123"); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject); SetFieldValueCommand expected = new SetFieldValueCommand(optionObjectDecorator, parameter); // Act IRunScriptCommand actual = CommandFactory.GetCommand(optionObject, parameter); // Assert Assert.AreEqual(expected.GetType(), actual.GetType()); }
public void RunScript_DefaultScript_OptionObject2015_FormCountEquals0() { // Arrange OptionObject2015 optionObject = new OptionObject2015(); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject); IParameter parameter = new Parameter("?"); var command = new DefaultScriptCommand(optionObjectDecorator, parameter); // Act OptionObject2015 returnOptionObject = (OptionObject2015)command.Execute(); // Assert Assert.AreEqual(0, returnOptionObject.Forms.Count); }
public void GetCommand_SetFieldValue_ReturnsSetFieldValueCommand() { // Arrange OptionObject2015 optionObject2015 = new OptionObject2015(); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015); IParameter parameter = new Parameter("SetFieldValue"); SetFieldValueCommand expected = new SetFieldValueCommand(optionObjectDecorator, parameter); // Act IRunScriptCommand actual = CommandSelector.GetCommand(optionObject2015, parameter); // Assert Assert.AreEqual(expected.GetType(), actual.GetType()); }
public void RunScript_DefaultScript_OptionObject2_ReturnsErrorCode0() { // Arrange OptionObject2 optionObject = new OptionObject2(); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject); IParameter parameter = new Parameter("?"); var command = new DefaultScriptCommand(optionObjectDecorator, parameter); // Act OptionObject2 returnOptionObject = (OptionObject2)command.Execute(); // Assert Assert.AreEqual(3, returnOptionObject.ErrorCode); }
public void GetCommand_SendEmail_ReturnsSendEmailCommand() { // Arrange OptionObject2015 optionObject2015 = new OptionObject2015(); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015); IParameter parameter = new Parameter("SendEmail"); var smtpService = new SmtpService(); SendEmailCommand expected = new SendEmailCommand(optionObjectDecorator, smtpService); // Act IRunScriptCommand actual = CommandSelector.GetCommand(optionObject2015, parameter); // Assert Assert.AreEqual(expected.GetType(), actual.GetType()); }
public void Execute_HelloWorldCommand_ErrorCodeEquals3() { // Arrange double expected = 3; OptionObject2015 optionObject2015 = new OptionObject2015(); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015); var command = new HelloWorldCommand(optionObjectDecorator); // Act var actual = command.Execute(); // Assert Assert.AreEqual(expected, actual.ErrorCode); }
public void Execute_HelloWorldCommand_ReturnsOptionObject2015() { // Arrange OptionObject2015 expected = new OptionObject2015(); OptionObject2015 optionObject2015 = new OptionObject2015(); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015); var command = new HelloWorldCommand(optionObjectDecorator); // Act var actual = command.Execute(); // Assert Assert.AreEqual(expected.GetType(), actual.GetType()); }
public void Execute_SendEmailCommand_ReturnsOptionObject2015() { // Arrange OptionObject2015 expected = new OptionObject2015(); OptionObject2015 optionObject2015 = new OptionObject2015(); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015); var messageService = new Mock <ISmtpService>(); var command = new SendEmailCommand(optionObjectDecorator, messageService.Object); // Act var actual = command.Execute(); // Assert Assert.AreEqual(expected.GetType(), actual.GetType()); }
public void GetCommand_GetOdbcData_ReturnsGetOdbcDataCommand() { // Arrange OptionObject2015 optionObject2015 = new OptionObject2015(); IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015); IParameter parameter = new Parameter("GetOdbcData"); ConnectionStringCollection connectionStringCollection = new ConnectionStringCollection("", "", ""); var repository = new GetOdbcDataRepository(connectionStringCollection); GetOdbcDataCommand expected = new GetOdbcDataCommand(optionObjectDecorator, repository); // Act IRunScriptCommand actual = CommandSelector.GetCommand(optionObject2015, parameter); // Assert Assert.AreEqual(expected.GetType(), actual.GetType()); }
public void Execute_EnabledEmpty_ReturnsEnabledEmpty() { // Arrange FieldObject fieldObject = new FieldObject() { Enabled = "", FieldNumber = "123", FieldValue = "", Lock = "", Required = "" }; RowObject rowObject = new RowObject() { Fields = new List <FieldObject>() { fieldObject }, RowId = "1||1" }; FormObject formObject = new FormObject() { CurrentRow = rowObject, FormId = "1", MultipleIteration = false }; OptionObject2015 optionObject2015 = new OptionObject2015() { Forms = new List <FormObject>() { formObject } }; IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015); IParameter parameter = new Parameter("SetFieldValue,123,New Field Value"); string expected = ""; var command = new SetFieldValueCommand(optionObjectDecorator, parameter); // Act OptionObject2015 optionObject = (OptionObject2015)command.Execute(); string actual = optionObject.Forms[0].CurrentRow.Fields[0].Enabled; // Assert Assert.AreEqual(expected, actual); }
public void Execute_GetOdbcDataCommand_ReturnsOptionObject2015() { // Arrange OptionObject2015 expected = new OptionObject2015(); OptionObject2015 optionObject2015 = new OptionObject2015() { EntityID = "12345", Facility = "1" }; IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject2015); var repository = new Mock <IGetDataRepository>(); repository.Setup(p => p.GetPatientCountOfOpenEpisodesByPatientId(optionObject2015.Facility, optionObject2015.EntityID)).Returns(3); var command = new GetOdbcDataCommand(optionObjectDecorator, repository.Object); // Act var actual = command.Execute(); // Assert Assert.AreEqual(expected.GetType(), actual.GetType()); }
public void RunScript_GetFieldValue_OptionObject2_ReturnsErrorCode0() { // Arrange FieldObject fieldObject = new FieldObject() { FieldNumber = "123", FieldValue = "TESTING" }; RowObject rowObject = new RowObject() { Fields = new List <FieldObject>() { fieldObject }, RowId = "1||1" }; FormObject formObject = new FormObject() { CurrentRow = rowObject, FormId = "1" }; OptionObject2 optionObject = new OptionObject2() { Forms = new List <FormObject>() { formObject } }; IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject); IParameter parameter = new Parameter("GetFieldValue,123"); var command = new GetFieldValueCommand(optionObjectDecorator, parameter); // Act OptionObject2 returnOptionObject = (OptionObject2)command.Execute(); // Assert Assert.AreEqual(3, returnOptionObject.ErrorCode); }
public void RunScript_SetFieldValue_OptionObject2015_FormCountEquals1() { // Arrange FieldObject fieldObject = new FieldObject() { FieldNumber = "123", FieldValue = "TESTING" }; RowObject rowObject = new RowObject() { Fields = new List <FieldObject>() { fieldObject }, RowId = "1||1" }; FormObject formObject = new FormObject() { CurrentRow = rowObject, FormId = "1" }; OptionObject2015 optionObject = new OptionObject2015() { Forms = new List <FormObject>() { formObject } }; IOptionObjectDecorator optionObjectDecorator = new OptionObjectDecorator(optionObject); IParameter parameter = new Parameter("SetFieldValue,123"); var command = new SetFieldValueCommand(optionObjectDecorator, parameter); // Act OptionObject2015 returnOptionObject = (OptionObject2015)command.Execute(); // Assert Assert.AreEqual(1, returnOptionObject.Forms.Count); }