mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-14 00:19:16 +01:00
commit
839aeb01a6
@ -99,6 +99,23 @@ module.exports = function (app, config) {
|
||||
.catch(error => handleErrors(req, res, error));
|
||||
});
|
||||
|
||||
app.post('/features/:featureName/toggle', (req, res) => {
|
||||
const featureName = req.params.featureName;
|
||||
const userName = extractUser(req);
|
||||
|
||||
featureToggleStore.getFeature(featureName)
|
||||
.then((feature) => {
|
||||
feature.enabled = !feature.enabled;
|
||||
return eventStore.store({
|
||||
type: FEATURE_UPDATED,
|
||||
createdBy: userName,
|
||||
data: feature,
|
||||
});
|
||||
})
|
||||
.then(() => res.status(200).end())
|
||||
.catch(error => handleErrors(req, res, error));
|
||||
});
|
||||
|
||||
app.delete('/features/:featureName', (req, res) => {
|
||||
const featureName = req.params.featureName;
|
||||
const userName = extractUser(req);
|
||||
|
@ -98,6 +98,24 @@ test.serial('can change status of feature toggle that does exist', async t => {
|
||||
.expect(200).then(destroy);
|
||||
});
|
||||
|
||||
test.serial('can not toggle of feature that does not exist', async t => {
|
||||
const { request, destroy } = await setupApp('feature_api_serial');
|
||||
logger.setLevel('FATAL');
|
||||
return request
|
||||
.post('/features/should-not-exist/toggle')
|
||||
.set('Content-Type', 'application/json')
|
||||
.expect(404).then(destroy);
|
||||
});
|
||||
|
||||
test.serial('can toggle a feature that does exist', async t => {
|
||||
const { request, destroy } = await setupApp('feature_api_serial');
|
||||
logger.setLevel('FATAL');
|
||||
return request
|
||||
.post('/features/featureY/toggle')
|
||||
.set('Content-Type', 'application/json')
|
||||
.expect(200).then(destroy);
|
||||
});
|
||||
|
||||
test.serial('archives a feature by name', async t => {
|
||||
const { request, destroy } = await setupApp('feature_api_serial');
|
||||
return request
|
||||
|
Loading…
Reference in New Issue
Block a user