-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #129 from elliot-100/simplify-tests
Tests: simplify, reorder
- Loading branch information
Showing
7 changed files
with
229 additions
and
292 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,102 +2,74 @@ | |
|
||
import pytest | ||
|
||
# EXTRACTS FROM GROUPS ENDPOINT: | ||
|
||
|
||
@pytest.fixture() | ||
def simple_role_data() -> dict: | ||
"""Represent the simplest possible Role in this implementation. | ||
For testing Role in isolation. | ||
Item from 'groups' (root) -> 'roles'. | ||
""" | ||
return { | ||
"id": "001", | ||
"name": "My role", | ||
} | ||
# EXTRACTS FROM EVENTS ENDPOINT: | ||
|
||
|
||
@pytest.fixture() | ||
def simple_subgroup_data() -> dict: | ||
"""Represent the simplest possible Subgroup in this implementation. | ||
For testing Subgroup in isolation. | ||
Item from 'groups' (root) -> {group} -> 'subGroups' | ||
""" | ||
return { | ||
"id": "8CC576609CF3DCBC44469A799E76B22B", | ||
"name": "Subgroup A1", | ||
} | ||
def simple_event_data() -> dict: | ||
"""Simplest possible event data in this implementation. | ||
For testing Event in isolation. | ||
@pytest.fixture() | ||
def simple_profile_data() -> dict: | ||
"""Represent the simplest possible Profile in this implementation. | ||
For testing Profile in isolation. | ||
Item from 'groups' (root) -> {group} -> 'members' -> {member} -> {profile} | ||
Item from 'events' (root). | ||
""" | ||
return { | ||
"id": "364C188137AD92DC0F32E1A31A0E1731", | ||
"id": "E1", | ||
"heading": "Event One", | ||
"responses": { | ||
"acceptedIds": [], | ||
"declinedIds": [], | ||
"unansweredIds": [], | ||
"waitinglistIds": [], | ||
"unconfirmedIds": [], | ||
}, | ||
"type": "EVENT", | ||
"createdTime": "2020-12-31T19:00:00Z", | ||
"endTimestamp": "2024-08-15T11:00:00Z", | ||
"startTimestamp": "2021-07-06T06:00:00Z", | ||
} | ||
|
||
|
||
@pytest.fixture() | ||
def simple_member_data() -> dict: | ||
"""Represent the simplest possible Member in this implementation. | ||
def complex_event_data() -> dict: | ||
"""Event data with all implemented fields populated. | ||
For testing Member in isolation. | ||
Item from 'groups' (root) -> {group} -> 'members'. | ||
Item from 'events' (root). | ||
""" | ||
return { | ||
"createdTime": "2022-03-24T16:36:29Z", | ||
# email is optional | ||
"firstName": "Brendan", | ||
"id": "6F63AF02CE05328153ABA477C76E6189", | ||
"lastName": "Gleason", | ||
# phoneNumber is optional | ||
# profile is optional | ||
# roles is optional | ||
"subGroups": [], | ||
"id": "E2", | ||
"heading": "Event Two", | ||
"responses": { | ||
"acceptedIds": ["AC1"], | ||
"declinedIds": ["DC1"], | ||
"unansweredIds": ["UA1"], | ||
"waitinglistIds": ["WL1"], | ||
"unconfirmedIds": ["UC1"], | ||
}, | ||
"type": "RECURRING", | ||
"createdTime": "2019-04-24T19:00:00Z", | ||
"endTimestamp": "2024-08-15T11:00:00Z", | ||
"startTimestamp": "2022-11-04T06:00:00Z", | ||
# optional: | ||
"cancelled": "True", | ||
"inviteTime": "2021-01-04T06:00:00Z", | ||
} | ||
|
||
|
||
@pytest.fixture() | ||
def member_with_profile_data() -> dict: | ||
"""Represent a single Member with Profile. | ||
All supported input fields are supplied. | ||
Item from 'groups' (root) -> {group} -> 'members'. | ||
""" | ||
return { | ||
"createdTime": "2022-03-24T16:36:29Z", | ||
"email": "ciará[email protected]", | ||
"firstName": "Ciarán", | ||
"id": "F59D764E4CE0B643DF4C0CF5E5B2B059", | ||
"lastName": "Hinds", | ||
"phoneNumber": "+123456789", | ||
"profile": { | ||
"id": "364C188137AD92DC0F32E1A31A0E1731", | ||
}, | ||
"roles": [ | ||
"F2DFF55011800E66CDDAF2FD8A72039B", | ||
], | ||
"subGroups": [ | ||
"9E95A326090B256E2E9DAA6C0114E1D8", | ||
], | ||
} | ||
# EXTRACTS FROM GROUPS ENDPOINT: | ||
|
||
|
||
@pytest.fixture() | ||
def simple_group_data() -> dict: | ||
"""Represent the simplest possible Group in this implementation. | ||
"""Simplest possible group data in this implementation. | ||
For testing Group in isolation. | ||
Item from 'groups' (root). | ||
""" | ||
return { | ||
"id": "8B4A6A9C60397A41D6D2414AFD520152", | ||
"name": "Group A", | ||
"id": "G1", | ||
"name": "Group One", | ||
"members": [], # assumed always exists, may be empty | ||
"roles": [], # assumed always exists, may be empty | ||
"subGroups": [], # assumed always exists, may be empty | ||
|
@@ -106,105 +78,120 @@ def simple_group_data() -> dict: | |
|
||
@pytest.fixture() | ||
def complex_group_data() -> dict: | ||
"""Represent a single Group with a single Member, single Subgroup, single Role. | ||
"""Group data with all implemented fields populated. | ||
The Member is in the Subgroup, and has the Role. | ||
All supported input fields are supplied. | ||
Item from 'groups' (root). | ||
""" | ||
return { | ||
"id": "20EA715745389FCDED2C280A8ACB74A6", | ||
"id": "G2", | ||
"name": "Group Two", | ||
"members": [ | ||
{ | ||
"createdTime": "2022-03-24T16:36:29Z", | ||
"email": "[email protected]", | ||
"firstName": "Brendan", | ||
"id": "6F63AF02CE05328153ABA477C76E6189", | ||
"id": "G2M1", | ||
"lastName": "Gleason", | ||
"phoneNumber": "+123456789", | ||
"profile": { | ||
"id": "364C188137AD92DC0F32E1A31A0E1731", | ||
"id": "G2M1P1", | ||
}, | ||
"roles": [ | ||
"29A7724B47ABEE7B3C9DC347E13A50B4", | ||
], | ||
"subGroups": [ | ||
"BB6B3C3592C5FC71DBDD5258D45EF6D4", | ||
], | ||
"roles": ["G2R1"], | ||
"subGroups": ["G2S1"], | ||
}, | ||
], | ||
"name": "Group B", | ||
"subGroups": [ | ||
"roles": [ | ||
{ | ||
"id": "BB6B3C3592C5FC71DBDD5258D45EF6D4", | ||
"name": "Subgroup B1", | ||
"id": "G2R1", | ||
"name": "Role B2", | ||
}, | ||
], | ||
"roles": [ | ||
"subGroups": [ | ||
{ | ||
"id": "29A7724B47ABEE7B3C9DC347E13A50B4", | ||
"name": "Role B2", | ||
"id": "G2S1", | ||
"name": "Subgroup B1", | ||
}, | ||
], | ||
} | ||
|
||
|
||
# EXTRACTS FROM EVENTS ENDPOINT: | ||
@pytest.fixture() | ||
def simple_member_data() -> dict: | ||
"""Simplest possible member data in this implementation. | ||
For testing Member in isolation. | ||
Item from 'groups' (root) -> {group} -> 'members'. | ||
""" | ||
return { | ||
"id": "M1", | ||
"firstName": "Brendan", | ||
"lastName": "Gleason", | ||
"subGroups": [], | ||
"createdTime": "2022-03-24T16:36:29Z", | ||
} | ||
|
||
|
||
@pytest.fixture() | ||
def simple_event_data() -> dict: | ||
"""Represent the simplest possible Event in this implementation. | ||
def complex_member_data() -> dict: | ||
"""Member data with all implemented fields populated. | ||
Item from 'events' (root). | ||
Item from 'groups' (root) -> {group} -> 'members'. | ||
""" | ||
return { | ||
"id": "E001", | ||
"heading": "Event 1", | ||
"type": "EVENT", | ||
"responses": { | ||
"acceptedIds": [], | ||
"declinedIds": [], | ||
"unansweredIds": [], | ||
"waitinglistIds": [], | ||
"unconfirmedIds": [], | ||
"id": "M2", | ||
"firstName": "Ciarán", | ||
"lastName": "Hinds", | ||
"createdTime": "2022-03-24T16:36:29Z", | ||
# optional: | ||
"email": "ciará[email protected]", | ||
"phoneNumber": "+123456789", | ||
"profile": { | ||
"id": "M2P2", | ||
}, | ||
"createdTime": "2020-12-31T19:00:00Z", | ||
"endTimestamp": "2024-08-15T11:00:00Z", | ||
"startTimestamp": "2021-07-06T06:00:00Z", | ||
"roles": [ | ||
"M2R2", | ||
], | ||
"subGroups": [ | ||
"M2S2", | ||
], | ||
} | ||
|
||
|
||
@pytest.fixture() | ||
def complex_event_data() -> dict: | ||
"""Represent a single Event with Responses. | ||
def simple_profile_data() -> dict: | ||
"""Simplest possible profile data in this implementation. | ||
All supported input fields are supplied. | ||
Item from 'events' (root). | ||
For testing Profile in isolation. | ||
Item from 'groups' (root) -> {group} -> 'members' -> {member} -> {profile} | ||
""" | ||
return { | ||
"id": "E002", | ||
"cancelled": "True", | ||
"heading": "Event 2", | ||
"type": "RECURRING", | ||
"responses": { | ||
"acceptedIds": [ | ||
"B24FA75A4CCBC63199A57361E88B0646", | ||
], | ||
"declinedIds": [ | ||
"B4C5339E366FB5350310F2F8EA069F41", | ||
], | ||
"unansweredIds": [ | ||
"3E546CDE2EAE242C1B8281C2042B5990", | ||
], | ||
"waitinglistIds": [ | ||
"0362B36507E156365471B64574EB6764", | ||
], | ||
"unconfirmedIds": [ | ||
"2D1BB37608F09511FD5F280D219DFD97", | ||
], | ||
}, | ||
"createdTime": "2019-04-24T19:00:00Z", | ||
"endTimestamp": "2024-08-15T11:00:00Z", | ||
"startTimestamp": "2022-11-04T06:00:00Z", | ||
"id": "P1", | ||
} | ||
|
||
|
||
@pytest.fixture() | ||
def simple_role_data() -> dict: | ||
"""Simplest possible role data in this implementation. | ||
For testing Role in isolation. | ||
Item from 'groups' (root) -> 'roles'. | ||
""" | ||
return { | ||
"id": "R1", | ||
"name": "Role One", | ||
} | ||
|
||
|
||
@pytest.fixture() | ||
def simple_subgroup_data() -> dict: | ||
"""Simplest possible subgroup data in this implementation. | ||
For testing Subgroup in isolation. | ||
Item from 'groups' (root) -> {group} -> 'subGroups' | ||
""" | ||
return { | ||
"id": "S1", | ||
"name": "Subgroup One", | ||
} |
Oops, something went wrong.