Skip to content
Snippets Groups Projects
Commit 117a0adc authored by Angelina Filippova's avatar Angelina Filippova
Browse files

Add tests for settings with type map

parent 9eaf7144
No related branches found
No related tags found
1 merge request!77Ability to remove settings from db
This commit is part of merge request !77. Comments created here will be created in the context of that merge request.
...@@ -228,7 +228,7 @@ describe('Wrap settings', () => { ...@@ -228,7 +228,7 @@ describe('Wrap settings', () => {
expect(_.isEqual(result2, expectedResult2)).toBeTruthy() 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 settings1 = { 'Oban': { ':prune': [["atom", "tuple"], ":disabled"]}}
const state1 = { ':pleroma': { 'Oban': {}}} const state1 = { ':pleroma': { 'Oban': {}}}
const result1 = wrapUpdatedSettings(':pleroma', settings1, state1) const result1 = wrapUpdatedSettings(':pleroma', settings1, state1)
...@@ -252,4 +252,71 @@ describe('Wrap settings', () => { ...@@ -252,4 +252,71 @@ describe('Wrap settings', () => {
expect(_.isEqual(result1, expectedResult1)).toBeTruthy() expect(_.isEqual(result1, expectedResult1)).toBeTruthy()
expect(_.isEqual(result2, expectedResult2)).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()
})
}) })
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment