Skip to content
Snippets Groups Projects

Ability to remove settings from db

1 file
+ 68
1
Compare changes
  • Side-by-side
  • Inline
@@ -228,7 +228,7 @@ describe('Wrap settings', () => {
expect(_.isEqual(result2, expectedResult2)).toBeTruthy()
})
it('wraps settings with type tuple and atom', () => {
it('wraps settings with type atom and tuple', () => {
const settings1 = { 'Oban': { ':prune': [["atom", "tuple"], ":disabled"]}}
const state1 = { ':pleroma': { 'Oban': {}}}
const result1 = wrapUpdatedSettings(':pleroma', settings1, state1)
@@ -252,4 +252,71 @@ describe('Wrap settings', () => {
expect(_.isEqual(result1, expectedResult1)).toBeTruthy()
expect(_.isEqual(result2, expectedResult2)).toBeTruthy()
})
it('wraps settings with type map', () => {
const settings1 = { ':instance': { ':poll_limits': ["map", { ":min_expiration": ["integer", 100] }]}}
const state1 = { ':pleroma': { ':instance': { ':poll_limits': {
':max_expiration': 31536000,
':max_option_chars': 200,
':max_options': 20,
':min_expiration': 100
}}}}
const result1 = wrapUpdatedSettings(':pleroma', settings1, state1)
const expectedResult1 = [{
group: ':pleroma',
key: ":instance",
value: [{ tuple: [":poll_limits", {
':max_expiration': 31536000,
":max_option_chars": 200,
":max_options": 20,
":min_expiration": 100
}]}]
}]
const settings2 = { ':email_notifications': { ':digest': ["map", {
':active': ["boolean", true],
':schedule': ["string", "0 0 0"],
':inactivity_threshold': ["integer", 10]
}]}}
const state2 = { ':pleroma': { ':email_notifications': { ':digest': {
':active': true,
':inactivity_threshold': 10,
':interval': 7,
':schedule': "0 0 0"
}}}}
const result2 = wrapUpdatedSettings(':pleroma', settings2, state2)
const expectedResult2 = [{
group: ':pleroma',
key: ":email_notifications",
value: [{ tuple: [":digest", {
':active': true,
':inactivity_threshold': 10,
':interval': 7,
':schedule': "0 0 0"
}]}]
}]
const settings3 = { ':mrf_subchain': { ':match_actor': ["map", {
'~r/https:\/\/example.com/s': ["Elixir.Pleroma.Web.ActivityPub.MRF.DropPolicy"],
'~r/https:\/\/test.com': ["Elixir.Pleroma.Web.ActivityPub.MRF.TestPolicy"]
}]}}
const state3 = { ':pleroma': { ':mrf_subchain': { ':match_actor': [
{ '~r/https:\/\/example.com/s': ["Elixir.Pleroma.Web.ActivityPub.MRF.DropPolicy"] },
{ '~r/https:\/\/test.com': ["Elixir.Pleroma.Web.ActivityPub.MRF.TestPolicy"] }
]
}}}
const result3 = wrapUpdatedSettings(':pleroma', settings3, state3)
const expectedResult3 = [{
group: ':pleroma',
key: ":mrf_subchain",
value: [{ tuple: [":match_actor", {
'~r/https:\/\/example.com/s': ["Elixir.Pleroma.Web.ActivityPub.MRF.DropPolicy"],
'~r/https:\/\/test.com': ["Elixir.Pleroma.Web.ActivityPub.MRF.TestPolicy"]
}]}]
}]
expect(_.isEqual(result1, expectedResult1)).toBeTruthy()
expect(_.isEqual(result2, expectedResult2)).toBeTruthy()
expect(_.isEqual(result3, expectedResult3)).toBeTruthy()
})
})
Loading