public async Task error_on_invalid_programid() { const string response = @" <CRMMessage language=""en_US"" currency=""DKK"" isTrustedSAT=""false"" hostversion=""1.00""> <RequestCode>GetProgram</RequestCode> <ResponseCode>A</ResponseCode> <ResultSet> <ResultSetMetaData> <RSColumn name=""programcode"" type=""string"" nullable=""true""></RSColumn> </ResultSetMetaData> <Rows></Rows> </ResultSet> </CRMMessage>"; var handler = CreateMockMessageHandler(HttpStatusCode.OK, CreateSoapResponse(response.Trim())); var executor = new OracleHospitalityExecutor(_options, _executorLogger, new HttpClient(handler)); var sut = new CrmClient(_options, executor); var actual = await sut.GetProgramAsync( "programid = ?", new[] { new ColumnValue("programid", "123") }, new[] { new Column("programcode") }); Assert.Empty(actual.Rows); }
private async Task <GetProgramResponse> GetProgram(CrmClient client, GetAccountResponse account) { var columnList = await client.GetColumnListAsync("program"); var columnNames = columnList.Row.Columns.Select(c => new Column(c.Key)).ToArray(); var programId = account.Rows[0].Columns["PROGRAMID"].ToString(); var program = await client.GetProgramAsync( "programid = ?", new[] { new ColumnValue("programid", programId) }, columnNames); InferMetaDataToFieldSpecifications(program.MetaData, columnList.Row.Columns); Assert.Single(program.Rows); Assert.Equal("EMPDISC", program.Rows[0].Columns["PROGRAMCODE"]); return(program); }