コード例 #1
0
ファイル: CrudTests.cs プロジェクト: mjebrahimi/bit-framework
        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();
            }
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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();
            }
        }