Example #1
0
        public async Task Delete()
        {
            //Arrange
            var toggleToDelete = new MongoDbFeatureToggleModel {
                Name = "ft1", Enabled = true
            };
            var toggleThatRemains = new MongoDbFeatureToggleModel {
                Name = "ft2", Enabled = true
            };

            DataSeed.SeedFeatureToggles(new[] { toggleToDelete, toggleThatRemains });

            //Act
            var response = await Client.DeleteAsync($"{ApiUrl}/{toggleToDelete.Id}");

            //Assert
            AssertNoContentResponse(response);

            var models = await GetToggles();

            Assert.AreEqual(1, models.Count);
            var model = models[0];

            Assert.AreEqual(toggleThatRemains.Id, model.Id);
        }
Example #2
0
        public async Task Patch_Enable(bool enabled, string patchPropertyName, string patchPropertyValue, HttpStatusCode expectedStatusCode, string assertMessage)
        {
            //Arrange
            var toggle = new MongoDbFeatureToggleModel {
                Name = "ft1", Enabled = enabled
            };

            DataSeed.SeedFeatureToggles(new[] { toggle });
            var patchRequest = new PatchFeatureToggleRequest
            {
                Operation = patchPropertyName,
                Value     = patchPropertyValue
            };

            //Act
            var response = await Client.PatchAsync($"{ApiUrl}/{toggle.Id}", CreateHttpContent(new[] { patchRequest }));

            //Assert
            AssertResponse(response, expectedStatusCode);

            var expectedStatusCodeAsInt = (int)expectedStatusCode;
            var isSuccessStatusCode     = expectedStatusCodeAsInt >= 200 && expectedStatusCodeAsInt <= 299;
            var expectedEnabledValue    = isSuccessStatusCode ? !enabled : enabled;

            var models = await GetToggles();

            Assert.AreEqual(1, models.Count);
            var model = models[0];

            Assert.AreEqual(expectedEnabledValue, model.Enabled, assertMessage);
        }
Example #3
0
        public async Task Exists(string existingToggleName, string testToggleName, bool expectedResult, string assertMessage)
        {
            //Arrange
            var toggle = new MongoDbFeatureToggleModel {
                Name = existingToggleName, Enabled = true
            };

            DataSeed.SeedFeatureToggles(new[] { toggle });

            //Act
            var response = await Client.GetAsync($"{ApiUrl}/exists/{testToggleName}");

            //Assert
            AssertOkResponse(response);

            var stringResponse = await response.Content.ReadAsStringAsync();

            var existsResponse = JsonConvert.DeserializeObject <ExistsResponse>(stringResponse);

            Assert.AreEqual(expectedResult, existsResponse.Exists, assertMessage);
        }