public virtual async Task EnumTest_CSClient() { using (BitOwinTestEnvironment testEnvironment = new BitOwinTestEnvironment(new TestEnvironmentArgs { })) { TokenResponse token = await testEnvironment.Server.Login("ValidUserName", "ValidPassword", clientId : "TestResOwner"); IODataClient client = testEnvironment.Server.BuildODataClient(token: token); DtoWithEnum dtoWithEnum = await client.Controller <DtoWithEnumController, DtoWithEnum>() .Function(nameof(DtoWithEnumController.GetDtoWithEnumsByGender)) .Set(new { gender = TestGender.Man }) .ExecuteAsSingleAsync(); Assert.AreEqual(TestGender.Man, dtoWithEnum.Gender); Assert.AreEqual(true, await client.Controller <DtoWithEnumController, DtoWithEnum>() .Action(nameof(DtoWithEnumController.PostDtoWithEnum)) .Set(new DtoWithEnumController.PostDtoWithEnumParameters { dto = dtoWithEnum }) .ExecuteAsScalarAsync <bool>()); ODataBatch batchClient = testEnvironment.Server.BuildODataBatchClient(token: token); batchClient += bc => bc.Controller <DtoWithEnumController, DtoWithEnum>() .Function(nameof(DtoWithEnumController.GetDtoWithEnumsByGender2)) .Set(new { gender = TestGender2.Man }) .FindEntriesAsync(); batchClient += bc => bc.Controller <DtoWithEnumController, DtoWithEnum>() .Function(nameof(DtoWithEnumController.GetDtoWithEnumsByGender)) .Set(new { gender = TestGender.Man }) .FindEntriesAsync(); await batchClient.ExecuteAsync(); /*Assert.AreEqual(true, await client.Controller<DtoWithEnumController, DtoWithEnum>() * .Action(nameof(DtoWithEnumController.TestEnumsArray)) * .Set(new DtoWithEnumController.TestEnumsArrayParameters { enums = new[] { TestGender2.Man, TestGender2.Woman } }) * .ExecuteAsScalarAsync<bool>());*/ DtoWithEnumController firstCallController = TestDependencyManager.CurrentTestDependencyManager.Objects .OfType <DtoWithEnumController>() .First(); DtoWithEnumController secondCallController = TestDependencyManager.CurrentTestDependencyManager.Objects .OfType <DtoWithEnumController>() .ElementAt(2); A.CallTo(() => firstCallController.GetDtoWithEnumsByGender(TestGender.Man)) .MustHaveHappenedOnceExactly(); A.CallTo(() => secondCallController.GetDtoWithEnumsByGender2(TestGender2.Man)) .MustHaveHappenedOnceExactly(); } }
public void Can_convert_Car_to_ObjectDictionary_WithMapper() { var dto = new DtoWithEnum { Name = "Dan", Color = Color.Blue }; var map = dto.ToObjectDictionary((k, v) => k == nameof(Color) ? v.ToString().ToLower() : v); Assert.That(map["Color"], Is.EqualTo(Color.Blue.ToString().ToLower())); Assert.That(map["Name"], Is.EqualTo(dto.Name)); }
public virtual async Task EnumTest_CSClient() { using (BitOwinTestEnvironment testEnvironment = new BitOwinTestEnvironment(new TestEnvironmentArgs { })) { TokenResponse token = await testEnvironment.Server.Login("ValidUserName", "ValidPassword", clientId : "TestResOwner"); IODataClient client = testEnvironment.BuildTestODataClient(token: token); DtoWithEnum dtoWithEnum = await client.DtoWithEnum() .GetDtoWithEnumsByGender(TestGender.Man) .ExecuteAsSingleAsync(); Assert.AreEqual(TestGender.Man, dtoWithEnum.Gender); Assert.AreEqual(true, await client.DtoWithEnum() .PostDtoWithEnum(dtoWithEnum) .ExecuteAsScalarAsync <bool>()); ODataBatch batchClient = testEnvironment.Server.BuildODataBatchClient(token: token); batchClient += bc => bc.DtoWithEnum() .GetDtoWithEnumsByGender2(TestGender2.Man) .ExecuteAsEnumerableAsync(); batchClient += bc => bc.DtoWithEnum() .GetDtoWithEnumsByGender(TestGender.Man) .ExecuteAsEnumerableAsync(); await batchClient.ExecuteAsync(); /*Assert.AreEqual(true, await client.DtoWithEnum() * .TestEnumsArray(new[] { TestGender2.Man, TestGender2.Woman }) * .ExecuteAsScalarAsync<bool>());*/ DtoWithEnumController firstCallController = testEnvironment.GetObjects <DtoWithEnumController>() .First(); DtoWithEnumController secondCallController = testEnvironment.GetObjects <DtoWithEnumController>() .ElementAt(2); A.CallTo(() => firstCallController.GetDtoWithEnumsByGender(TestGender.Man)) .MustHaveHappenedOnceExactly(); A.CallTo(() => secondCallController.GetDtoWithEnumsByGender2(TestGender2.Man)) .MustHaveHappenedOnceExactly(); } }