public async Task GetUomCollectionTakeLessThan1()
        {
            var connection = new SqliteConnection("DataSource=:memory:");

            try
            {
                var testData = UomTestData.GetUomsArray();
                new DbInitializer().Initialize(connection, GetPropertyContext, UomTestData.GetInitialData());
                using (var context = GetPropertyContext(connection))
                {
                    var uomRepository = new UomReadRepository(context);
                    Assert.ThrowsAsync <ArgumentOutOfRangeException>
                    (
                        async() => await uomRepository.GetAsync("", 0, 0)
                    );
                }
            }
            finally
            {
                connection.Close();
            }
        }
        public async Task GetFilteredUomCollection()
        {
            var connection = new SqliteConnection("DataSource=:memory:");

            try
            {
                var testData = UomTestData.GetUomsArray();
                new DbInitializer().Initialize(connection, GetPropertyContext, UomTestData.GetInitialData());
                using (var context = GetPropertyContext(connection))
                {
                    var uomRepository = new UomReadRepository(context);
                    var expectedPage  = PageMaker.GetExpectedPage(testData, "j", 0, 20);
                    var actualPage    = await uomRepository.GetAsync("j", 0, 20) as Page <Uom>;

                    Assert.True(PageEqual.Check(expectedPage, actualPage, UomEqual.Check));
                }
            }
            finally
            {
                connection.Close();
            }
        }
Ejemplo n.º 3
0
        public async Task PostInvalidTwiceUom()
        {
            var connection = new SqliteConnection("DataSource=devicedb;Mode=Memory;Cache=Shared");

            try
            {
                new DbInitializer().Initialize(connection, GetPropertyContext, UomTestData.GetInitialData());
                var testWriteClient = GetTestWriteClient();
                var httpMessage     = GetRequestWithToken(HttpMethod.Post, $"{EndpointBase}/lrp/uoms", GoodClaimsList);
                var uomToPost       = new Uom
                                      (
                    id: 0,
                    name: "N_0123456789_0123456789_0123456789_0123456789_0123456789",
                    description: ""
                                      );
                httpMessage.Content = GetWriteContent(uomToPost);
                var response = await testWriteClient.SendAsync(httpMessage);

                Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
                var jsonString = await response.Content.ReadAsStringAsync();

                var errorDictionary = JsonConvert.DeserializeObject <Dictionary <string, ReadOnlyCollection <string> > >(jsonString);
                Assert.AreEqual(2, errorDictionary.Count);
                errorDictionary.TryGetValue("Name", out var value1);
                Assert.NotNull(value1);
                Assert.AreEqual(1, value1.Count);
                Assert.AreEqual("The field Name must be a string with a minimum length of 1 and a maximum length of 30.", value1[0]);
                errorDictionary.TryGetValue("Description", out var value2);
                Assert.NotNull(value2);
                Assert.AreEqual(2, value2.Count);
                Assert.AreEqual("The Description field is required.", value2[0]);
                Assert.AreEqual("The field Description must be a string with a minimum length of 1 and a maximum length of 100.", value2[1]);
            }
            finally
            {
                connection.Close();
            }
        }
        public async Task DeleteAsync()
        {
            var page = PageMaker.GetExpectedPage(
                data: UomTestData.GetUomsArray(),
                searchText: string.Empty,
                skip: 0,
                take: 20
                );
            var expectedPage = CollectionPageDataMaker.GetExpectedPage(page, "http://localhost/api");

            CollectionPageViewModel <Uom> viewModel = new ViewModelTestBuilder <Uom>()
                                                      .SetConstructor_Title("Uoms")
                                                      .Then_NewPageService_ReadPageAsync("", expectedPage)
                                                      .Then_DeleteService_DeleteItemAsync(1001)
                                                      .Then_ReadPageService_RefreshCurrentPageAsync(expectedPage);

            await viewModel.SearchAsync("");

            Assert.True(CollectionPageViewModelChecker.Check(expectedPage, viewModel, UomEqual.Check));
            await viewModel.DeleteAsync(new Uom().WithId(1001));

            Assert.True(CollectionPageViewModelChecker.Check(expectedPage, viewModel, UomEqual.Check));
        }
        public async Task GetPageBadMediaType()
        {
            var connection = new SqliteConnection("DataSource=devicedb;Mode=Memory;Cache=Shared");

            try
            {
                var testData = UomTestData.GetUomsArray();
                new DbInitializer().Initialize(connection, GetPropertyContext, UomTestData.GetInitialData());
                var testReadClient = GetTestReadClient();
                var skip           = 0;
                var take           = 20;
                var searchText     = "";
                var endpoint       = $"{EndpointBase}/lrp/uoms?searchText={WebUtility.UrlEncode(searchText)}&skip={skip}&take={take}";
                var httpMessage    = GetRequestWithToken(HttpMethod.Get, endpoint, GoodClaimsList, LrpSupportedMedia.LrpMediaTypeV3);
                var response       = await testReadClient.SendAsync(httpMessage);

                Assert.AreEqual(HttpStatusCode.NotAcceptable, response.StatusCode);
            }
            finally
            {
                connection.Close();
            }
        }
        public async Task GetSingleUomGoodClaimsList()
        {
            var connection = new SqliteConnection("DataSource=devicedb;Mode=Memory;Cache=Shared");

            try
            {
                var testData = UomTestData.GetUomsArray();
                new DbInitializer().Initialize(connection, GetPropertyContext, UomTestData.GetInitialData());
                var testReadClient = GetTestReadClient();
                var httpMessage    = GetRequestWithToken(HttpMethod.Get, $"{EndpointBase}/lrp/uoms/2", GoodClaimsList);
                var response       = await testReadClient.SendAsync(httpMessage);

                Assert.True(response.IsSuccessStatusCode);
                var jsonString = await response.Content.ReadAsStringAsync();

                var uomResult = JsonConvert.DeserializeObject <Uom>(jsonString);
                Assert.True(UomEqual.Check(testData[1], uomResult));
            }
            finally
            {
                connection.Close();
            }
        }
Ejemplo n.º 7
0
        public async Task AddUom()
        {
            var deviceConnection = new SqliteConnection("DataSource=devicedb;Mode=Memory;Cache=Shared");
            var modelConnection  = new SqliteConnection("DataSource=modeldb;Mode=Memory;Cache=Shared");

            try
            {
                new DbInitializer().Initialize(deviceConnection, GetPropertyContext, UomTestData.GetInitialData());
                new DbInitializer().Initialize(modelConnection, GetPropertyContext, UomTestData.GetInitialData());
                var testUser = GetTestUser(deviceConnection, modelConnection);

                //
                // THE TEST
                //
                await testUser.LaunchApplication();

                await testUser.ClickLoginOnLoginPage();

                await testUser.ClickUomsOnMainPage();

                await testUser.ClickAddOnUomsPage();

                await testUser.EnterNameOnUomItemPage("zzz");

                await testUser.EnterDescriptionOnUomItemPage("Sleep");

                await testUser.ClickSaveOnUomItemPage();

                await testUser.ClickBackOnUomsPage();
            }
            finally
            {
                deviceConnection.Close();
                modelConnection.Close();
            }
        }
Ejemplo n.º 8
0
        public async Task ThrashUoms()
        {
            var deviceConnection = new SqliteConnection("DataSource=devicedb;Mode=Memory;Cache=Shared");
            var modelConnection  = new SqliteConnection("DataSource=modeldb;Mode=Memory;Cache=Shared");

            try
            {
                new DbInitializer().Initialize(deviceConnection, GetPropertyContext, UomTestData.GetInitialData());
                new DbInitializer().Initialize(modelConnection, GetPropertyContext, UomTestData.GetInitialData());
                var testUser = GetTestUser(deviceConnection, modelConnection);
                //
                // THE TEST
                //
                await testUser.LaunchApplication();

                await testUser.ClickLoginOnLoginPage();

                await testUser.ClickUomsOnMainPage();

                await testUser.ClickBackOnUomsPage();

                await testUser.ClickUomsOnMainPage();

                await testUser.ClickPageForwardOnUomsPage();

                await testUser.ClickPageForwardOnUomsPage();

                await testUser.ClickPageForwardOnUomsPage();

                await testUser.ClickPageBackOnUomsPage();

                await testUser.ClickPageBackOnUomsPage();

                await testUser.ClickBackOnUomsPage();

                await testUser.ClickUomsOnMainPage();

                await testUser.SearchOnUomsPage("j");

                await testUser.SearchOnUomsPage("");

                await testUser.ClickBackOnUomsPage();

                await testUser.ClickUomsOnMainPage();

                await testUser.SearchOnUomsPage("i");

                await testUser.ClickBackOnUomsPage();

                await testUser.ClickUomsOnMainPage();

                await testUser.ClickDeleteOnUomsPageToolbar();

                await testUser.SelectUomItemToDelete(5);

                await testUser.ClickBackOnUomsPage();

                await testUser.ClickUomsOnMainPage();

                await testUser.ClickDeleteOnUomsPageToolbar();

                await testUser.ClickEditOnUomsPageToolbar();

                await testUser.SelectUomItemToEdit(2);

                await testUser.EnterNameOnUomItemPage("UpdatedName");

                await testUser.EnterDescriptionOnUomItemPage("UpdatedDescription");

                await testUser.ClickSaveOnUomItemPage();

                await testUser.ClickBackOnUomsPage();

                await testUser.ClickUomsOnMainPage();

                await testUser.SearchOnUomsPage("Updated");

                await testUser.SelectUomItemToEdit(0);

                await testUser.EnterNameOnUomItemPage("UpdatedAgain");

                await testUser.ClickSaveOnUomItemPage();

                await testUser.ClickBackOnUomsPage();
            }
            finally
            {
                deviceConnection.Close();
                modelConnection.Close();
            }
        }