@startuml
!include test_group_general.puml

package Invitations {
  package groups.tests.mixins.view_invitations <<Rectangle>> {
    class VI_CoreBoardMemberMixin {
      - test_view_function()
      - test_contains_all_invitations()
      - test_total_count_invitations()
      - test_total_count_members()
      - test_should_link_to_members()
    }
    class VI_BoardMemberMixin {
      - test_should_not_link_to_new_invite()
    }
    class VI_GroupLeaderMixin {
      - test_should_link_to_new_invite()
    }

    VI_CoreBoardMemberMixin *-- VI_BoardMemberMixin
    VI_CoreBoardMemberMixin *-- VI_GroupLeaderMixin
  }

  package groups.tests.test_view_group_invitations <<Rectangle>> {
    class ViewInvitationLoggedOutTest {
      + test_status_code()
    }

    class ViewInvitationMemberTest {
      - test_view_function()
      - test_should_contain_error_text()
      - test_should_not_link_to_inviations()
      - test_should_not_link_to_new_invite()
    }
    class ViewInvitationCashierTest
    class ViewInvitationVicePresidentTest
    class ViewInvitationPresidentTest

    GeneralMemberMixin *-- ViewInvitationMemberTest
    VI_BoardMemberMixin *-- ViewInvitationCashierTest
    VI_GroupLeaderMixin *-- ViewInvitationVicePresidentTest
    VI_GroupLeaderMixin *-- ViewInvitationPresidentTest
  }

  GeneralBoardMemberMixin *-- VI_CoreBoardMemberMixin
  GeneralGroupLeaderMixin *-- VI_GroupLeaderMixin
}


@enduml
