示例#1
0
        public async Task CreateAssetGroup()
        {
            AssetGroupDTO createdGroup = await this.CreateTestAssetGroup();

            Assert.NotNull(createdGroup);

            AssetGroupEntity entity = await this.AssetGroupsManager.TryGetAsync(createdGroup.Name) as AssetGroupEntity;

            entity.ShouldBeEquivalentTo(createdGroup, o => o
                                        .ExcludingMissingMembers());
        }
示例#2
0
        public async Task DeleteAssetGroup()
        {
            AssetGroupDTO TestAssetGroupDelete = await CreateTestAssetGroup();

            string deleteUrl = ApiPaths.ASSET_GROUPS_PATH + "/" + TestAssetGroupDelete.Name;
            var    response  = await this.Consumer.ExecuteRequest(deleteUrl, Helpers.EmptyDictionary, null, Method.DELETE);

            Assert.True(response.Status == HttpStatusCode.NoContent);

            AssetGroupEntity entity = await this.AssetGroupsManager.TryGetAsync(TestAssetGroupDelete.Name) as AssetGroupEntity;

            Assert.Null(entity);
        }
示例#3
0
        public async Task GetSingleAssetGroups()
        {
            string url = ApiPaths.ASSET_GROUPS_PATH + "/" + this.TestAssetGroup.Id;

            var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, null, Method.GET);

            Assert.True(response.Status == HttpStatusCode.OK);

            AssetGroupDTO parsedResponse = JsonUtils.DeserializeJson <AssetGroupDTO>(response.ResponseJson);

            Assert.NotNull(parsedResponse);

            this.TestAssetGroup.ShouldBeEquivalentTo(parsedResponse, o => o
                                                     .ExcludingMissingMembers());
        }
示例#4
0
        public async Task AddOrReplaceClientToAssetGroup()
        {
            AssetGroupDTO TestGroupForClientRelationAddOrReplace = await CreateTestAssetGroup();

            string url      = ApiPaths.ASSET_GROUPS_PATH + "/" + TestGroupForClientRelationAddOrReplace.Name + "/clients/" + this.TestAccountId + "/add-or-replace";
            var    response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, null, Method.POST);

            Assert.True(response.Status == HttpStatusCode.NoContent);

            var entities = await this.AssetGroupsRepository.GetAllAsync($"ClientGroupLink_{TestGroupForClientRelationAddOrReplace.Name}");

            List <string> assetIds = entities.Select(e => e.Id).ToList();

            Assert.True(assetIds.Count == 1);
            Assert.True(assetIds[0] == this.TestAccountId);
        }
示例#5
0
        public async Task RemoveClientFromAssetGroup()
        {
            AssetGroupDTO TestGroupForClientRelationDelete = await CreateTestAssetGroup();

            string url            = ApiPaths.ASSET_GROUPS_PATH + "/" + TestGroupForClientRelationDelete.Name + "/clients/" + this.TestAccountId;
            var    createResponse = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, null, Method.POST);

            Assert.True(createResponse.Status == HttpStatusCode.NoContent);

            var deleteResponse = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, null, Method.DELETE);

            Assert.True(deleteResponse.Status == HttpStatusCode.NoContent);

            var entities = await this.AssetGroupsRepository.GetAllAsync($"ClientGroupLink_{TestGroupForClientRelationDelete.Name}");

            List <string> assetIds = entities.Select(e => e.Id).ToList();

            Assert.True(assetIds.Count == 0);
        }
示例#6
0
        public async Task <AssetGroupDTO> CreateTestAssetGroup()
        {
            string url = ApiPaths.ASSET_GROUPS_PATH;

            AssetGroupDTO newAssetGroup = this.mapper.Map <AssetGroupDTO>(EnumerableUtils.PickRandom(AllAssetGroupsFromDB));

            newAssetGroup.Name += Helpers.Random.Next(1000, 9999).ToString() + GlobalConstants.AutoTest;

            string createParam = JsonUtils.SerializeObject(newAssetGroup);
            var    response    = await Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, createParam, Method.POST);

            if (response.Status != HttpStatusCode.Created)
            {
                return(null);
            }

            AddOneTimeCleanupAction(async() => await DeleteTestAssetGroup(newAssetGroup.Name));

            return(newAssetGroup);
        }
示例#7
0
        public async Task UpdateAssetGroup()
        {
            string url = ApiPaths.ASSET_GROUPS_PATH;

            AssetGroupDTO TestAssetGroupUpdate = await CreateTestAssetGroup();

            AssetGroupDTO editGroup = new AssetGroupDTO()
            {
                Name        = TestAssetGroupUpdate.Name,
                IsIosDevice = !TestAssetGroupUpdate.IsIosDevice,
                ClientsCanCashInViaBankCards = TestAssetGroupUpdate.ClientsCanCashInViaBankCards,
                SwiftDepositEnabled          = TestAssetGroupUpdate.SwiftDepositEnabled
            };
            string editParam = JsonUtils.SerializeObject(editGroup);

            var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, editParam, Method.PUT);

            Assert.True(response.Status == HttpStatusCode.NoContent);

            AssetGroupEntity entity = await this.AssetGroupsManager.TryGetAsync(editGroup.Name) as AssetGroupEntity;

            entity.ShouldBeEquivalentTo(editGroup, o => o
                                        .ExcludingMissingMembers());
        }