Пример #1
0
        public async Task Update_When_User_Changed()
        {
            var assertDatabase = await RfidDatabaseAssert.CreateAsync();

            var userRM         = Examples.Administrator();
            var tagRM          = Examples.Tag();
            var tagId          = 0;
            var tagNewUsername = "******";
            var tagUpdateRM    = (UpdateTagRequestModel)null;

            await RfidHttpClient.RegisterUserAsync(userRM);

            using (var httpResponse = await RfidHttpClient.GenerateAuthTokenAsync(userRM))
            {
                var authToken = await AuthTokenHelper.FromHttpResponseMessageAsync(httpResponse);

                var token = await authToken.GetTokenAsync();

                using (var tagHttpResponse = await RfidHttpClient.RegisterTagAsync(tagRM, token))
                {
                    RfidAssert.AssertHttpResponse(tagHttpResponse, System.Net.HttpStatusCode.OK);
                }

                tagId = await RfidDatabase.GetTagIdByNumberAsync(tagRM.Number);

                tagUpdateRM = Examples.TagUpdate(tagId, tagNewUsername);
                using (var tagHttpResponse = await RfidHttpClient.UpdateTagAsync(tagUpdateRM, token))
                {
                    RfidAssert.AssertHttpResponse(tagHttpResponse, System.Net.HttpStatusCode.OK);
                }
            }

            await assertDatabase.AssertCntAsync(userRM, tagRM, tagUpdateRM);

            var expectedUserId = await RfidDatabase.GetTagUserIdByUserNameAsync(tagNewUsername);

            await assertDatabase.AssertStateAsync("access_control.Tags", tagId, new { UserId = expectedUserId });
        }