Bug-Fix SignUp

**What kind of change does this PR introduce?**
Bug-Fix
<!-- E.g. a bugfix, feature, refactoring, etc… -->

**Issue Number:**
Fixes #2454

**Did you add tests for your changes?**
Yes, I have made changed in the unit tests to make sure workflow doesn't fail.

**Snapshots/Videos:**
SignUp is working fine now

https://github.com/PalisadoesFoundation/talawa/assets/99138286/8834c360-8894-48ef-92bb-ccebd466caca

**If relevant, did you update the documentation?**
No

**Summary**
SignUp was failing for the app continuously which was acting as an hindrance to the other issues after the signup process. It solves the problem of SignUp and now the user can log in after signing it without any problem.

**Does this PR introduce a breaking change?**
Yes
<!-- If this PR introduces a breaking change, please describe the impact and a migration path for existing applications. -->

**Have you read the [contributing guide](https://github.com/PalisadoesFoundation/talawa/blob/master/CONTRIBUTING.md)?**
Yes
<!--Yes or No-->

Bug Report: SignUp (Mobile)

Bug Report: SignUp (Mobile)
**Describe the bug**

The Talawa App is not able to run locally because of certain GrapphQL errors on the client side

![image](https://github.com/PalisadoesFoundation/talawa/assets/99138286/d22e02fc-7fa5-45ca-a4aa-d33e39d74a69)

On server Talawa-API  `userRegistrationRequired` is not defined for the type Organizations in `types.ts`

During Login there is a GraphQL error

![image](https://github.com/PalisadoesFoundation/talawa/assets/99138286/b69ba434-9fee-4ffd-90a4-7cffc9ceb789)

**To Reproduce**
Steps to reproduce the behavior:

1. Fix Login by taking care of `appUserProfile`
2. Fix Sign Up by taking care of `userRegistrationRequired`

**Expected behavior**
Run Talawa Mobile successfully without any errors.

**Actual behavior**
- Error while login and signup.
- Error fetching organizations.

**Additional details**
I'll create an issue in Talawa-API to add the particular fields described in screenshot in `types.ts`

**Potential internship candidates**
Please read this if you are planning to apply for a Palisadoes Foundation internship https://github.com/PalisadoesFoundation/talawa/issues/359

I would like to work on this issue
@ArinNigam Before working on this, please verify this issue is happening in the develop march.  Please close this if it is not needed.
The error is being caused by `userRegistrationRequired`. The server issue has been closed. Apparently the fields are present in `develop` branch and I mistook `main` branch as  the `develop`

Though the issue with SignUp and Login still exist at client side:

`GraphQLError(message: Cannot return null for non-nullable field Organization.userRegistrationRequired.`

https://github.com/PalisadoesFoundation/talawa/assets/99138286/6d4868f1-e038-488d-bc5a-82bac1e9ec56

https://github.com/PalisadoesFoundation/talawa/assets/99138286/8744bc46-9161-4974-b325-879e84ac153e

Hi, just checked that sample imports were old in my databases and were causing issues for `login` and `signup` where it was giving `userRegistrationRequired`  to be null since it was not defined in the database initially.

https://github.com/PalisadoesFoundation/talawa/assets/99138286/5f762c5d-159c-4ee1-911f-5a507768a771

https://github.com/PalisadoesFoundation/talawa/assets/99138286/ea985977-9abc-4b90-9b45-e8889be22c42

Login works perfectly fine. But still there is an issue persists with signup which is most probably be caused from the server side. Attaching the logs

This is when you click on **signup** after filling all the details

_From Server_
```
error Field "UserInput.selectedOrganization" of required type "ID!" was not provided. {
"locations": [
    {
        "line": 3,
        "column": 16
    }
],
"extensions": {
    "code": "GRAPHQL_VALIDATION_FAILED",
     "stacktrace": [
        "GraphQLError: Field \"UserInput.selectedOrganization\" of required type \"ID!\" was not provided.",
        "    at Object.ObjectValue (/Users/arinnigam/Desktop/AppDev/talawa/talawa-api/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.js:64:13)",
        "    at Object.enter (/Users/arinnigam/Desktop/AppDev/talawa/talawa-api/node_modules/graphql/language/visitor.js:301:32)",
        "    at Object.enter (/Users/arinnigam/Desktop/AppDev/talawa/talawa-api/node_modules/graphql/utilities/TypeInfo.js:391:27)",
        "    at visit (/Users/arinnigam/Desktop/AppDev/talawa/talawa-api/node_modules/graphql/language/visitor.js:197:21)",
        "    at validate (/Users/arinnigam/Desktop/AppDev/talawa/talawa-api/node_modules/graphql/validation/validate.js:91:24)",
        "    at processGraphQLRequest (/Users/arinnigam/Desktop/AppDev/talawa/talawa-api/node_modules/@apollo/server/src/requestPipeline.ts:247:40)",
        "    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
        "    at internalExecuteOperation (/Users/arinnigam/Desktop/AppDev/talawa/talawa-api/node_modules/@apollo/server/src/ApolloServer.ts:1313:12)",
        "    at runHttpQuery (/Users/arinnigam/Desktop/AppDev/talawa/talawa-api/node_modules/@apollo/server/src/runHttpQuery.ts:232:27)",
        "    at runPotentiallyBatchedHttpQuery (/Users/arinnigam/Desktop/AppDev/talawa/talawa-api/node_modules/@apollo/server/src/httpBatching.ts:85:12)",
        "    at ApolloServer.executeHTTPGraphQLRequest (/Users/arinnigam/Desktop/AppDev/talawa/talawa-api/node_modules/@apollo/server/src/ApolloServer.ts:1087:14)"
    ]
}
}
```

_From Client_
```
I/flutter (17501): ServerException(
  originalException: null,
  originalStackTrace: null,
  parsedResponse:
    Response
      (data: null,
      errors: [GraphQLError(message: Field "UserInput.selectedOrganization" of required type "ID!" was not provided.,
      locations: null, path: null, extensions: null)],
      context: Context({ResponseExtensions: Instance of 'ResponseExtensions'}),
      response: {
        errors: [{message: Field "UserInput.selectedOrganization" of required type "ID!" was not provided.,
        status: GRAPHQL_VALIDATION_FAILED,
        data: []}]}
      ))
```
The current issue persists for `SignUp` page which is most probably is being caused from the server side. I would like to know to if there is any existing issue in `talawa-api` who are working on this thing or should I link this issue and create one on `talawa-api`.

---

I am not closing this issue since there still persists an issue with signup on the mobile app. Once it gets solved on the backend side. I'll close this issue.

diff --git a/lib/utils/queries.dart b/lib/utils/queries.dart
index 256aa26516..60234d4228 100644
--- a/lib/utils/queries.dart
+++ b/lib/utils/queries.dart
@@ -10,6 +10,7 @@ class Queries {
   /// * `lastName`: user's data.
   /// * `email`: user's data.
   /// * `password`: user's data.
+  /// * `selectedOrganization`: ID of the selected organization.
   ///
   /// **returns**:
   /// * `String`: Return the mutation in string type to be passed to graphql client.
@@ -18,10 +19,11 @@ class Queries {
     String lastName,
     String email,
     String password,
+    String? selectedOrganization,
   ) {
     return """
         mutation{
-          signUp(data: {firstName: "$firstName", lastName: "$lastName", email: "$email", password: "$password"})
+          signUp(data: {firstName: "$firstName", lastName: "$lastName", email: "$email", password: "$password", selectedOrganization: "$selectedOrganization"})
           {
             appUserProfile{
               adminFor{
diff --git a/lib/view_model/pre_auth_view_models/signup_details_view_model.dart b/lib/view_model/pre_auth_view_models/signup_details_view_model.dart
index 2fc3c14515..494afac0b5 100644
--- a/lib/view_model/pre_auth_view_models/signup_details_view_model.dart
+++ b/lib/view_model/pre_auth_view_models/signup_details_view_model.dart
@@ -135,6 +135,7 @@ class SignupDetailsViewModel extends BaseModel {
             Encryptor.encryptString(
               password.text,
             ),
+            selectedOrganization.id,
           ),
         );
         navigationService.pop();

diff --git a/test/utils_tests/queries_test.dart b/test/utils_tests/queries_test.dart
index 6fffa67398..cdb43da4da 100644
--- a/test/utils_tests/queries_test.dart
+++ b/test/utils_tests/queries_test.dart
@@ -10,8 +10,13 @@ void main() {
       var mutation = false;
       expect(mutation, false);

-      final fnData = Queries()
-          .registerUser('Ayush', 'Chaudhary', 'ayush@gmail.com', 'password');
+      final fnData = Queries().registerUser(
+        'Ayush',
+        'Chaudhary',
+        'ayush@gmail.com',
+        'password',
+        'orgId123',
+      );
       if (fnData.contains('Ayush')) {
         mutation = true;
       }
diff --git a/test/view_model_tests/pre_auth_view_models/signup_details_view_model_test.dart b/test/view_model_tests/pre_auth_view_models/signup_details_view_model_test.dart
index cfd954522b..a98bf1a029 100644
--- a/test/view_model_tests/pre_auth_view_models/signup_details_view_model_test.dart
+++ b/test/view_model_tests/pre_auth_view_models/signup_details_view_model_test.dart
@@ -49,7 +49,7 @@ class SignUpMock extends StatelessWidget {
 }

 OrgInfo get org => OrgInfo(
-      id: '3',
+      id: '',
       name: 'test org 3',
       userRegistrationRequired: userRegistrationRequired,
       creatorInfo: User(firstName: 'test', lastName: '1'),
@@ -84,13 +84,13 @@ void main() {
         source: QueryResultSource.network,
         data: data,
         options: QueryOptions(
-          document: gql(queries.registerUser('', '', '', '')),
+          document: gql(queries.registerUser('', '', '', '', '')),
         ),
       );
       when(graphqlConfig.getToken()).thenAnswer((_) async => true);
       when(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       ).thenAnswer((_) async => result);
       when(databaseFunctions.gqlAuthMutation(queries.joinOrgById(org.id!)))
@@ -116,7 +116,7 @@ void main() {
       verify(databaseFunctions.gqlAuthMutation(queries.joinOrgById(org.id!)));
       verify(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       );
       verify(
@@ -143,12 +143,12 @@ void main() {
       locator.registerSingleton<UserConfig>(MockUserConfig());

       final model = SignupDetailsViewModel();
-
+      model.selectedOrganization = OrgInfo(id: "");
       await tester.pumpWidget(SignUpMock(formKey: model.formKey));

       when(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       ).thenAnswer((_) async => null);

@@ -194,13 +194,13 @@ void main() {
         source: QueryResultSource.network,
         data: data,
         options: QueryOptions(
-          document: gql(queries.registerUser('', '', '', '')),
+          document: gql(queries.registerUser('', '', '', '', '')),
         ),
       );
       when(graphqlConfig.getToken()).thenAnswer((_) async => false);
       when(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       ).thenAnswer((_) async => result);

@@ -301,13 +301,13 @@ void main() {
         source: QueryResultSource.network,
         data: data,
         options: QueryOptions(
-          document: gql(queries.registerUser('', '', '', '')),
+          document: gql(queries.registerUser('', '', '', '', '')),
         ),
       );
       when(graphqlConfig.getToken()).thenAnswer((_) async => true);
       when(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       ).thenAnswer((_) async => result);
       when(
@@ -340,7 +340,7 @@ void main() {
       );
       verify(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       );
       verify(
@@ -364,7 +364,7 @@ void main() {
       when(graphqlConfig.getToken()).thenAnswer((_) async => true);
       when(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       ).thenThrow(Exception());

@@ -374,7 +374,7 @@ void main() {

       verify(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       );
       verifyNever(
@@ -416,13 +416,15 @@ void main() {
         source: QueryResultSource.network,
         data: data,
         options: QueryOptions(
-          document: gql(queries.registerUser('', '', '', '')),
+          document: gql(
+            queries.registerUser('', '', '', '', ''),
+          ),
         ),
       );
       when(graphqlConfig.getToken()).thenAnswer((_) async => true);
       when(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       ).thenAnswer((_) async => result);
       when(databaseFunctions.gqlAuthMutation(queries.joinOrgById(org.id!)))
@@ -435,7 +437,7 @@ void main() {
       verify(databaseFunctions.gqlAuthMutation(queries.joinOrgById(org.id!)));
       verify(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       );
       verifyNever(
@@ -478,13 +480,15 @@ void main() {
         source: QueryResultSource.network,
         data: data,
         options: QueryOptions(
-          document: gql(queries.registerUser('', '', '', '')),
+          document: gql(
+            queries.registerUser('', '', '', '', ''),
+          ),
         ),
       );
       when(graphqlConfig.getToken()).thenAnswer((_) async => true);
       when(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       ).thenAnswer((_) async => result);
       when(
@@ -503,7 +507,7 @@ void main() {
       );
       verify(
         databaseFunctions.gqlNonAuthMutation(
-          queries.registerUser('', '', '', ''),
+          queries.registerUser('', '', '', '', ''),
         ),
       );
       verifyNever(


Fixed registerForEvent mutation & update tests

**What kind of change does this PR introduce?**

bugfix

**Issue Number:**

Fixes #2467

**Did you add tests for your changes?**

Yes

**Snapshots/Videos:**

https://github.com/PalisadoesFoundation/talawa/assets/109027247/3261ed92-cf07-4223-bc8a-bb7f017a5de6

**Summary**

- Modified `registerForEvent` mutation as per changes made in Talawa API.
- Updated the tests for same

**Does this PR introduce a breaking change?**

No

**Have you read the [contributing guide](https://github.com/PalisadoesFoundation/talawa/blob/master/CONTRIBUTING.md)?**

Yes

Error in Event Registration due Faulty mutation
**Describe the bug**
The `registerForEvent` mutation being used for register functionality was updated in Talawa API in https://github.com/PalisadoesFoundation/talawa-api/issues/1644 . Before update `registerForEvent` returned `Event` object, after update it returns `EventAttendee` object. Due to older implementation of `registerForEvent` the mutation fails.

**To Reproduce**
Steps to reproduce the behavior:

1. Login in a organiszation.
2. Open Events Tab
3. Open a specific event (where you've not already registered)
4. Click on register.
5. Error is displayed as No mutation occurs.

**Expected behavior**
On click of register button, user should be registered for the event.

**Actual behavior**
On click of register button, error is displayed due to failing mutation.

**Screenshots**

https://github.com/PalisadoesFoundation/talawa/assets/109027247/899b8344-0c4e-4d91-bd83-38995c77fe6f

**Additional details**
Part (pre-requisite) for Event Parity project

**Potential internship candidates**
Please read this if you are planning to apply for a Palisadoes Foundation internship https://github.com/PalisadoesFoundation/talawa/issues/359

diff --git a/lib/services/event_service.dart b/lib/services/event_service.dart
index eff3153edd..6b3146ec89 100644
--- a/lib/services/event_service.dart
+++ b/lib/services/event_service.dart
@@ -80,7 +80,6 @@ class EventService {

     final List eventsJson =
         (result as QueryResult).data!["eventsByOrganizationConnection"] as List;
-    debugPrint('Events: $eventsJson');
     eventsJson.forEach((eventJsonData) {
       final Event event = Event.fromJson(eventJsonData as Map<String, dynamic>);
       event.isRegistered = event.attendees?.any(
diff --git a/lib/utils/event_queries.dart b/lib/utils/event_queries.dart
index c68b8e3781..554c180f47 100644
--- a/lib/utils/event_queries.dart
+++ b/lib/utils/event_queries.dart
@@ -114,14 +114,11 @@ class EventQueries {
   String registerForEvent() {
     return """
      mutation registerForEvent(\$eventId: ID!) {
-      registerForEvent(id: \$eventId)
-        {
+      registerForEvent(id: \$eventId) {
         _id
-        title
-        description
       }
-    }
-  """;
+     }
+    """;
   }

   /// Creates a GraphQL mutation for deleting an event.
diff --git a/lib/view_model/after_auth_view_models/event_view_models/event_info_view_model.dart b/lib/view_model/after_auth_view_models/event_view_models/event_info_view_model.dart
index 1eb36c925f..8835a662e0 100644
--- a/lib/view_model/after_auth_view_models/event_view_models/event_info_view_model.dart
+++ b/lib/view_model/after_auth_view_models/event_view_models/event_info_view_model.dart
@@ -61,19 +61,20 @@ class EventInfoViewModel extends BaseModel {
           await locator<EventService>().registerForAnEvent(event.id!);
       if (registerResult != null) {
         event.isRegistered = true;
+        final userConfig = locator<UserConfig>();
         attendees.add(
           Attendee(
-            id: UserConfig().currentUser.id,
-            firstName: UserConfig().currentUser.firstName,
-            lastName: UserConfig().currentUser.lastName,
-            image: UserConfig().currentUser.image,
+            id: userConfig.currentUser.id,
+            firstName: userConfig.currentUser.firstName,
+            lastName: userConfig.currentUser.lastName,
+            image: userConfig.currentUser.image,
           ),
         );
       }
-      print(registerResult);
       fabTitle = getFabTitle();
       navigationService.pop();
       notifyListeners();
+      await locator<EventService>().getEvents();
     }
   }

diff --git a/test/service_tests/event_service_test.dart b/test/service_tests/event_service_test.dart
index 5546bfa246..76c461bbde 100644
--- a/test/service_tests/event_service_test.dart
+++ b/test/service_tests/event_service_test.dart
@@ -1,5 +1,3 @@
-// ignore_for_file: talawa_api_doc
-
 import 'package:flutter_test/flutter_test.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:mockito/mockito.dart';
@@ -91,7 +89,6 @@ void main() {
           data: {
             'register for an event': {
               '_id': 'eventId',
-              'name': 'name',
             },
           },
           source: QueryResultSource.network,
diff --git a/test/utils/event_queries_test.dart b/test/utils/event_queries_test.dart
index 95e867f636..83342ae372 100644
--- a/test/utils/event_queries_test.dart
+++ b/test/utils/event_queries_test.dart
@@ -87,14 +87,11 @@ void main() {
     test("Check if registerForEvent works correctly", () {
       const data = """
      mutation registerForEvent(\$eventId: ID!) {
-      registerForEvent(id: \$eventId)
-        {
+      registerForEvent(id: \$eventId) {
         _id
-        title
-        description
       }
-    }
-  """;
+     }
+    """;

       final fnData = EventQueries().registerForEvent();
       expect(fnData, data);


Fix issues in loading Attendees

**What kind of change does this PR introduce?**

bugfix, refactoring

**Issue Number:**

Fixes #2463

**Did you add tests for your changes?**

Yes

**Snapshots/Videos:**

https://github.com/PalisadoesFoundation/talawa/assets/109027247/d23e9acd-0198-40d1-8c01-3ad2753eb760

**Summary**
In API registrants was deprecated and replaced with `attendees` which have attributes such as isRegistered, isInvited, isCheckedIn, isCheckedOut which are further used to determine status of event attendee.

- Replaced deprecated `registrantsByEvent` query with getEventAttendeesByEventId.
- Replaced deprecated `eventsByOrganization` with `eventsByOrganizationConnection` as the later provide server-side sorting and filtering support.
- Refac codebase to use `attendees` instead of registrants.
- Updated related tests.
- Added documentation for all modified files

**Does this PR introduce a breaking change?**

No

**Have you read the [contributing guide](https://github.com/PalisadoesFoundation/talawa/blob/master/CONTRIBUTING.md)?**

Yes

Event Attendees Not loading due faulty query
**Describe the bug**
In the Event Page, the attendees for that specific events don't load, due to usage of `registrantsByEvent` query whose support was removed from API instead `getEventAttendeesByEventId` query resolvers should be used which was added in https://github.com/PalisadoesFoundation/talawa-api/issues/1644.

**To Reproduce**
Steps to reproduce the behavior:

1. Login to organization
2. Open Events tab.
3. Open a specific Event page.
4. The attendees keep on loading due to no value being received as a result of wrong (old) query.

**Expected behavior**
Attendees for the event must be rendered in Attendees section and "No attendees" if there are no attendees.

**Actual behavior**
The Attendees section keep on loading (circular progress indicator) indefinitely.

**Screenshots**
![attendees](https://github.com/PalisadoesFoundation/talawa/assets/109027247/8697fac3-f61c-4035-8415-15b3fae97588)

**Potential internship candidates**
Please read this if you are planning to apply for a Palisadoes Foundation internship https://github.com/PalisadoesFoundation/talawa/issues/359

diff --git a/lib/demo_server_data/events_demo_data.dart b/lib/demo_server_data/events_demo_data.dart
index 5578599915..9d22b4ef95 100644
--- a/lib/demo_server_data/events_demo_data.dart
+++ b/lib/demo_server_data/events_demo_data.dart
@@ -1,14 +1,29 @@
-// ignore_for_file: talawa_api_doc
-// ignore_for_file: talawa_good_doc_comments
+/// 'eventsDemoData' is a list of events that are used to display the events in the app.
+///
+/// Each event has the following properties:
+/// - title: The title of the event.
+/// - description: The description of the event.
+/// - location: The location of the event.
+/// - recurring: Whether the event is recurring or not.
+/// - allDay: Whether the event is an all-day event or not.
+/// - startDate: The start date of the event.
+/// - endDate: The end date of the event.
+/// - startTime: The start time of the event.
+/// - endTime: The end time of the event.
+/// - recurrence: The recurrence of the event.
+/// - isPublic: Whether the event is public or not.
+/// - isSubscribed: Whether the user is subscribed to the event or not.
+/// - isRegisterable: Whether the event is registerable or not.
+/// - creator: The creator of the event.
+/// - attendees: The attendees of the event.
+/// - admins: The admins of the event.
+/// - organization: The organization of the event.

-///This file contains demo data. It contains a list of type Map<String, Object>
-/// and sample data of events.
 const eventsDemoData = [
   {
     "title": "Calculus",
     "description":
         "This course introduces calculus using analytic geometry functions. Topics include limits and continuity, derivatives, optimization, related rates, graphing and other applications of derivatives, definite and indefinite integrals, and numerical integration.",
-    "attendees": "50",
     "location": "Lostilos",
     "recurring": "false",
     "allDay": "true",
@@ -25,17 +40,21 @@ const eventsDemoData = [
       "lastName": "Shendge",
       "_id": "asdasdasd",
     },
-    "registrants": [
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
+    "attendees": [
+      {"id": "attendee1", "firstName": "firstName1", "lastName": "lastName1"},
+      {"id": "attendee2", "firstName": "firstName2", "lastName": "lastName2"},
+      {"id": "attendee3", "firstName": "firstName3", "lastName": "lastName3"},
+      {"id": "attendee4", "firstName": "firstName4", "lastName": "lastName4"},
+      {"id": "attendee5", "firstName": "firstName5", "lastName": "lastName5"},
+      {"id": "attendee6", "firstName": "firstName6", "lastName": "lastName6"},
+      {"id": "attendee7", "firstName": "firstName7", "lastName": "lastName7"},
+      {"id": "attendee8", "firstName": "firstName8", "lastName": "lastName8"},
+      {"id": "attendee9", "firstName": "firstName9", "lastName": "lastName9"},
+      {
+        "id": "attendee10",
+        "firstName": "firstName10",
+        "lastName": "lastName10",
+      },
     ],
     "admins": [
       {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
@@ -55,7 +74,6 @@ const eventsDemoData = [
     "title": "UI/UX",
     "description":
         "UX design refers to the term “user experience design”, while UI stands for “user interface design”. Both elements are crucial to a product and work closely together.",
-    "attendees": "80",
     "location": "Tokyo, Japan",
     "recurring": "false",
     "allDay": "true",
@@ -72,17 +90,21 @@ const eventsDemoData = [
       "lastName": "Chandla",
       "_id": "asdasdasd",
     },
-    "registrants": [
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
+    "attendees": [
+      {"id": "attendee1", "firstName": "firstName1", "lastName": "lastName1"},
+      {"id": "attendee2", "firstName": "firstName2", "lastName": "lastName2"},
+      {"id": "attendee3", "firstName": "firstName3", "lastName": "lastName3"},
+      {"id": "attendee4", "firstName": "firstName4", "lastName": "lastName4"},
+      {"id": "attendee5", "firstName": "firstName5", "lastName": "lastName5"},
+      {"id": "attendee6", "firstName": "firstName6", "lastName": "lastName6"},
+      {"id": "attendee7", "firstName": "firstName7", "lastName": "lastName7"},
+      {"id": "attendee8", "firstName": "firstName8", "lastName": "lastName8"},
+      {"id": "attendee9", "firstName": "firstName9", "lastName": "lastName9"},
+      {
+        "id": "attendee10",
+        "firstName": "firstName10",
+        "lastName": "lastName10",
+      },
     ],
     "admins": [
       {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
@@ -102,7 +124,6 @@ const eventsDemoData = [
     "title": "System Design",
     "description":
         "Systems design is the process of defining the architecture, product design, modules, interfaces, and data for a system to satisfy specified requirements. Systems design could be seen as the application of systems theory to product development.",
-    "attendees": "29",
     "location": "Shimla, India",
     "recurring": "false",
     "allDay": "true",
@@ -119,17 +140,21 @@ const eventsDemoData = [
       "lastName": "Srivastav",
       "_id": "asdasdasd",
     },
-    "registrants": [
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
+    "attendees": [
+      {"id": "attendee1", "firstName": "firstName1", "lastName": "lastName1"},
+      {"id": "attendee2", "firstName": "firstName2", "lastName": "lastName2"},
+      {"id": "attendee3", "firstName": "firstName3", "lastName": "lastName3"},
+      {"id": "attendee4", "firstName": "firstName4", "lastName": "lastName4"},
+      {"id": "attendee5", "firstName": "firstName5", "lastName": "lastName5"},
+      {"id": "attendee6", "firstName": "firstName6", "lastName": "lastName6"},
+      {"id": "attendee7", "firstName": "firstName7", "lastName": "lastName7"},
+      {"id": "attendee8", "firstName": "firstName8", "lastName": "lastName8"},
+      {"id": "attendee9", "firstName": "firstName9", "lastName": "lastName9"},
+      {
+        "id": "attendee10",
+        "firstName": "firstName10",
+        "lastName": "lastName10",
+      },
     ],
     "admins": [
       {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
@@ -147,11 +172,8 @@ const eventsDemoData = [
   },
   {
     "title": "Gaming",
-    // ignore: missing_whitespace_between_adjacent_strings
     "description":
         "Cyberpunk 2077 is a 2020 action role-playing v_ideo game developed and published by CD Projekt. The story takes place in Night City, an open world set in the Cyberpunk universe.",
-
-    "attendees": "5k+",
     "location": "Nagpur, India",
     "recurring": "false",
     "allDay": "true",
@@ -163,23 +185,26 @@ const eventsDemoData = [
     "isPublic": "true",
     "isSubscribed": "true",
     "isRegisterable": "true",
-
     "creator": {
       "firstName": "Utkarsh",
       "lastName": "Shendge",
       "_id": "asdasdasd",
     },
-    "registrants": [
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
-      {"firstName": "Warren", "lastName": "Buff", "_id": "asdasdasd"},
-      {"firstName": "Bustin", "lastName": "Jiber", "_id": "asdasdasd"},
+    "attendees": [
+      {"id": "attendee1", "firstName": "firstName1", "lastName": "lastName1"},
+      {"id": "attendee2", "firstName": "firstName2", "lastName": "lastName2"},
+      {"id": "attendee3", "firstName": "firstName3", "lastName": "lastName3"},
+      {"id": "attendee4", "firstName": "firstName4", "lastName": "lastName4"},
+      {"id": "attendee5", "firstName": "firstName5", "lastName": "lastName5"},
+      {"id": "attendee6", "firstName": "firstName6", "lastName": "lastName6"},
+      {"id": "attendee7", "firstName": "firstName7", "lastName": "lastName7"},
+      {"id": "attendee8", "firstName": "firstName8", "lastName": "lastName8"},
+      {"id": "attendee9", "firstName": "firstName9", "lastName": "lastName9"},
+      {
+        "id": "attendee10",
+        "firstName": "firstName10",
+        "lastName": "lastName10",
+      },
     ],
     "admins": [
       {"firstName": "Utkarsh", "lastName": "Shendge", "_id": "asdasdasd"},
diff --git a/lib/enums/enums.dart b/lib/enums/enums.dart
index bd58e38a20..f2bb7274eb 100644
--- a/lib/enums/enums.dart
+++ b/lib/enums/enums.dart
@@ -1,25 +1,71 @@
-// ignore_for_file: talawa_api_doc
-// ignore_for_file: talawa_good_doc_comments
-
-///This file contains different enums.
-///The enum keyword is used to define an enumeration type in Dart.
-/// The use case of enumeration is to store finite data members under the same type definition.
-
-/// Represents the state of the view
+/// Represents the state of the view.
 enum ViewState {
+  /// The view is not doing anything.
   idle,
+
+  /// The view is loading something.
   busy,
 }

-/// Represents the state of the chat
-enum ChatState { initial, loading, complete }
+/// Represents the state of the chat.
+enum ChatState {
+  /// The chat is at initial state.
+  initial,
+
+  /// The chat is loading something.
+  loading,
+
+  /// The chat state is complete.
+  complete
+}
+
+/// Represents the type of the tile.
+enum TileType {
+  /// Represents the tile of the user.
+  user,
+
+  /// Represents the tile of the attendee.
+  attendee,

-/// Represents the type of the tile
-enum TileType { user, org, option }
+  /// Represents the tile of the organization.
+  org,
+
+  /// Represents the tile of the option.
+  option
+}

-/// Represents the type of the Message
-enum MessageType { error, warning, info, random }
+/// Represents the type of the Message.
+enum MessageType {
+  /// Represents error message.
+  error,

-enum CallFor { login, signup, joinPublicOrg }
+  /// Represents warning message.
+  warning,

-enum ModalSheet { donation, invite }
+  /// Represents info message.
+  info,
+
+  /// Represents random message.
+  random
+}
+
+/// Represents the type of CallFor.
+enum CallFor {
+  /// Represents the call for login.
+  login,
+
+  /// Represents the call for signup.
+  signup,
+
+  /// Represents the call for joining Public organization.
+  joinPublicOrg
+}
+
+/// Represents the type of ModalSheet.
+enum ModalSheet {
+  /// Represents the modal sheet for donation.
+  donation,
+
+  /// Represents the modal sheet for invite.
+  invite
+}
diff --git a/lib/models/events/event_model.dart b/lib/models/events/event_model.dart
index 5642a462eb..4c4bbb727d 100644
--- a/lib/models/events/event_model.dart
+++ b/lib/models/events/event_model.dart
@@ -1,6 +1,3 @@
-// ignore_for_file: talawa_api_doc
-// ignore_for_file: talawa_good_doc_comments
-
 import 'package:talawa/models/organization/org_info.dart';
 import 'package:talawa/models/user/user_info.dart';

@@ -27,7 +24,6 @@ class Event {
     this.creator,
     this.organization,
     this.admins,
-    this.registrants,
   });
   //Creating a new Event instance from a map structure.
   factory Event.fromJson(
@@ -37,7 +33,6 @@ class Event {
       id: json['_id'] as String,
       title: json['title'] as String?,
       description: json['description'] as String?,
-      attendees: json['attendees'] as String?,
       location: json['location'] as String?,
       longitude: json['longitude'] as double?,
       latitude: json['latitude'] as double?,
@@ -53,14 +48,12 @@ class Event {
       isRegisterable: json['isRegisterable'] as bool?,
       creator: json['creator'] == null
           ? null
-          //Creating a new User instance from a map structure.
           : User.fromJson(
               json['creator'] as Map<String, dynamic>,
               fromOrg: true,
             ),
       organization: json['organization'] == null
           ? null
-          //Creating a new OrgInfo instance from a map structure.
           : OrgInfo.fromJson(json['organization'] as Map<String, dynamic>),
       admins: json['admins'] == null
           ? null
@@ -69,30 +62,116 @@ class Event {
                 (e) => User.fromJson(e as Map<String, dynamic>, fromOrg: true),
               )
               .toList(),
-      registrants: (json['registrants'] as List<dynamic>?)
-          ?.map((e) => User.fromJson(e as Map<String, dynamic>, fromOrg: false))
-          .toList(),
+      attendees: (json["attendees"] as List<dynamic>?)?.isEmpty ?? true
+          ? null
+          : (json['attendees'] as List<dynamic>?)
+              ?.map(
+                (e) => Attendee.fromJson(e as Map<String, dynamic>),
+              )
+              .toList(),
     );
   }
+
+  ///Unique identifier for the event.
   String? id;
+
+  /// The title of the event.
   String? title;
+
+  /// The description of the event.
   String? description;
-  String? attendees;
+
+  /// The location of the event.
   String? location;
+
+  /// The latitude of the event.
   double? latitude;
+
+  /// The longitude of the event.
   double? longitude;
+
+  /// A boolean value that indicates if the event is recurring.
   bool? recurring;
+
+  /// A boolean value that indicates if the event is an all-day event.
   bool? allDay;
+
+  /// The start date of the event.
   String? startDate;
+
+  /// The end date of the event.
   String? endDate;
+
+  /// The start time of the event.
   String? startTime;
+
+  /// The end time of the event.
   String? endTime;
+
+  /// The recurrence of the event.
   String? recurrence;
+
+  /// A boolean value that indicates if the event is public.
   bool? isPublic;
+
+  /// A boolean value that indicates if the user is registered for the event.
   bool? isRegistered;
+
+  /// A boolean value that indicates if the event is registerable.
   bool? isRegisterable;
+
+  /// The creator of the event.
   User? creator;
+
+  /// The organization of the event.
   OrgInfo? organization;
+
+  /// The admins of the event.
   List<User>? admins;
-  List<User>? registrants;
+
+  /// The attendees of the event.
+  List<Attendee>? attendees;
+}
+
+///This class creates an attendee model and returns an Attendee instance.
+class Attendee {
+  Attendee({this.id, this.firstName, this.lastName, this.image});
+
+  Attendee.fromJson(Map<String, dynamic> json) {
+    id = json['_id'] as String?;
+    firstName = json['firstName'] as String?;
+    lastName = json['lastName'] as String?;
+    image = json['image'] as String?;
+  }
+
+  ///Unique identifier for the attendee.
+  String? id;
+
+  /// The first name of the attendee.
+  String? firstName;
+
+  /// The last name of the attendee.
+  String? lastName;
+
+  /// The image of the attendee.
+  String? image;
+
+  /// Converts the Attendee instance to a map structure..
+  ///
+  /// This method is used to convert the Attendee instance to a map structure that can be converted to a JSON object.
+  ///
+  /// **params**:
+  ///   None
+  ///
+  /// **returns**:
+  /// * `Map<String, dynamic>`: A map structure that can be converted to a JSON object.
+
+  Map<String, dynamic> toJson() {
+    final Map<String, dynamic> data = <String, dynamic>{};
+    data['_id'] = this.id;
+    data['firstName'] = this.firstName;
+    data['lastName'] = this.lastName;
+    data['image'] = this.image;
+    return data;
+  }
 }
diff --git a/lib/services/event_service.dart b/lib/services/event_service.dart
index 11070dde70..eff3153edd 100644
--- a/lib/services/event_service.dart
+++ b/lib/services/event_service.dart
@@ -1,5 +1,4 @@
 import 'dart:async';
-
 import 'package:flutter/material.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:talawa/constants/routing_constants.dart';
@@ -17,7 +16,7 @@ import 'package:talawa/widgets/custom_progress_dialog.dart';
 /// Services include:
 /// * `setOrgStreamSubscription` : to set organization stream subscription for user.
 /// * `getEvents` : to get all events of the organization.
-/// * `fetchRegistrantsByEvent` : to fetch all registrants of an event.
+/// * `fetchAttendeesByEvent` : to fetch all attendees of an event.
 /// * `registerForAnEvent` : to register for an event.
 /// * `deleteEvent` : to delete an event.
 /// * `editEvent` : to edit the event.
@@ -78,12 +77,14 @@ class EventService {
     final result = await _dbFunctions.gqlAuthMutation(mutation);

     if (result == null) return;
+
     final List eventsJson =
-        (result as QueryResult).data!["eventsByOrganization"] as List;
+        (result as QueryResult).data!["eventsByOrganizationConnection"] as List;
+    debugPrint('Events: $eventsJson');
     eventsJson.forEach((eventJsonData) {
       final Event event = Event.fromJson(eventJsonData as Map<String, dynamic>);
-      event.isRegistered = event.registrants?.any(
-            (registrant) => registrant.id == _userConfig.currentUser.id,
+      event.isRegistered = event.attendees?.any(
+            (attendee) => attendee.id == _userConfig.currentUser.id,
           ) ??
           false;
       _eventStreamController.add(event);
@@ -97,9 +98,9 @@ class EventService {
   ///
   /// **returns**:
   /// * `Future<dynamic>`: Information about event registrants.
-  Future<dynamic> fetchRegistrantsByEvent(String eventId) async {
+  Future<dynamic> fetchAttendeesByEvent(String eventId) async {
     final result = await _dbFunctions.gqlAuthQuery(
-      EventQueries().registrantsByEvent(eventId),
+      EventQueries().attendeesByEvent(eventId),
     );
     return result;
   }
diff --git a/lib/utils/event_queries.dart b/lib/utils/event_queries.dart
index 65bbe3d441..c68b8e3781 100644
--- a/lib/utils/event_queries.dart
+++ b/lib/utils/event_queries.dart
@@ -14,38 +14,49 @@ class EventQueries {
   String fetchOrgEvents(String orgId) {
     return """
       query {
-        eventsByOrganization(id: "$orgId"){
-          _id
-          organization {
-            _id
-            image
-          }
-          title
-          description
-          isPublic
-          isRegisterable
-          recurring
-          startDate
-          endDate
-          allDay
-          startTime
-          endTime
-          location
-          creator{
-            _id
-            firstName
-            lastName
-          }
-          admins {
-            firstName
-            lastName
-          }
-        }
+        eventsByOrganizationConnection(
+      where: {
+        organization_id: "$orgId"
+      }
+    ) {
+      _id
+      organization {
+        _id
+        image
+      }
+      title
+      description
+      isPublic
+      isRegisterable
+      recurring
+      startDate
+      endDate
+      allDay
+      startTime
+      endTime
+      location
+      creator {
+        _id
+        firstName
+        lastName
+      }
+      admins {
+        _id
+        firstName
+        lastName
+      }
+      attendees {
+        _id
+        firstName
+        lastName
+        image
+      }
+    }
       }
     """;
   }

-  /// Fetches registrants by event ID.
+  /// Fetches attendees by event ID.
   ///
   /// **params**:
   /// * `eventId`: The ID of the event to fetch registrants for.
@@ -55,14 +66,16 @@ class EventQueries {
   ///
   /// This function generates a GraphQL query string to fetch registrants
   /// based on the provided event ID.
-  String registrantsByEvent(String eventId) {
+  String attendeesByEvent(String eventId) {
     return '''
       query {
-        registrantsByEvent(id: "$eventId") {
-          _id
-          firstName
-          lastName
-          image
+        getEventAttendeesByEventId(eventId: "$eventId") {
+          eventId
+          userId
+          isRegistered
+          isInvited
+          isCheckedIn
+          isCheckedOut
         }
       }
     ''';
diff --git a/lib/view_model/after_auth_view_models/event_view_models/event_info_view_model.dart b/lib/view_model/after_auth_view_models/event_view_models/event_info_view_model.dart
index ca45fdf846..1eb36c925f 100644
--- a/lib/view_model/after_auth_view_models/event_view_models/event_info_view_model.dart
+++ b/lib/view_model/after_auth_view_models/event_view_models/event_info_view_model.dart
@@ -1,52 +1,52 @@
-// ignore_for_file: talawa_api_doc
-// ignore_for_file: talawa_good_doc_comments
-
 import 'package:flutter/material.dart';
-import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:talawa/enums/enums.dart';
 import 'package:talawa/locator.dart';
 import 'package:talawa/models/events/event_model.dart';
-import 'package:talawa/models/user/user_info.dart';
 import 'package:talawa/services/event_service.dart';
 import 'package:talawa/services/user_config.dart';
 import 'package:talawa/view_model/after_auth_view_models/event_view_models/explore_events_view_model.dart';
 import 'package:talawa/view_model/base_view_model.dart';
 import 'package:talawa/widgets/custom_progress_dialog.dart';

-/// EventInfoViewModel class helps interacting with model to serve view with the event information data.'
-///
-/// Methods include:
-/// * `registerForEvent` : to register user for an event.
-/// * `getFabTitle` : to get the status of "registration" for an event.
+/// EventInfoViewModel class helps interacting with model to serve view with the event information data.
 class EventInfoViewModel extends BaseModel {
+  /// ExploreEventsViewModel instance to fetch the event data.
   late ExploreEventsViewModel exploreEventsInstance;
+
+  /// Event instance to store the event data.
   late Event event;
+
+  /// String type variable to store the FAB title.
   late String fabTitle;
-  late List<User> registrants;

-  /// initialise with the event data fetched from the model.
+  /// List of Attendee type to store the attendees data.
+  late List<Attendee> attendees = [];
+
+  /// This function initializes the EventInfoViewModel class with the required arguments.
+  ///
+  /// **params**:
+  /// * `args`: A map of arguments required to initialize the EventInfoViewModel class.
+  ///
+  /// **returns**:
+  ///   None
   Future<void> initialize({required Map<String, dynamic> args}) async {
     event = args["event"] as Event;
     exploreEventsInstance =
         args["exploreEventViewModel"] as ExploreEventsViewModel;
     fabTitle = getFabTitle();
     setState(ViewState.busy);
-    final fetchRegistrantsByEventQueryResult = await locator<EventService>()
-        .fetchRegistrantsByEvent(event.id!) as QueryResult;
-    final registrantsJsonList = fetchRegistrantsByEventQueryResult
-        .data!['registrantsByEvent'] as List<Object?>;
-    registrants = registrantsJsonList
-        .map(
-          (registrantJson) => User.fromJson(
-            registrantJson! as Map<String, dynamic>,
-            fromOrg: true,
-          ),
-        )
-        .toList();
+
+    attendees = event.attendees ?? [];
     setState(ViewState.idle);
   }

-  /// This function helps the user to register for an event.
+  /// The function allows user to register for an event.
+  ///
+  /// **params**:
+  ///   None
+  ///
+  /// **returns**:
+  ///   None
   Future<void> registerForEvent() async {
     // if event registration is open and user not already registered for the event.
     if (event.isRegisterable == true && event.isRegistered == false) {
@@ -59,11 +59,16 @@ class EventInfoViewModel extends BaseModel {
       // use `registerForAnEvent` function provided by `EventService` service.
       final registerResult =
           await locator<EventService>().registerForAnEvent(event.id!);
-      //final registerResult = await EventService().registerForAnEvent(event.id!);
-      // if the registration is successful.
       if (registerResult != null) {
         event.isRegistered = true;
-        registrants.add(locator<UserConfig>().currentUser);
+        attendees.add(
+          Attendee(
+            id: UserConfig().currentUser.id,
+            firstName: UserConfig().currentUser.firstName,
+            lastName: UserConfig().currentUser.lastName,
+            image: UserConfig().currentUser.image,
+          ),
+        );
       }
       print(registerResult);
       fabTitle = getFabTitle();
@@ -72,7 +77,13 @@ class EventInfoViewModel extends BaseModel {
     }
   }

-  /// This function returns `String` type for the event registration status.
+  /// The funtion returns title to be displayed on Floating Action Button.
+  ///
+  /// **params**:
+  ///   None
+  ///
+  /// **returns**:
+  /// * `String`: Returns the title to be displayed on Floating Action Button.
   String getFabTitle() {
     if (event.isRegisterable == false) {
       return "Not Registrable";
diff --git a/lib/views/after_auth_screens/events/event_info_body.dart b/lib/views/after_auth_screens/events/event_info_body.dart
index 7a297299fe..0c1b2063c1 100644
--- a/lib/views/after_auth_screens/events/event_info_body.dart
+++ b/lib/views/after_auth_screens/events/event_info_body.dart
@@ -237,16 +237,16 @@ class EventInfoBody extends StatelessWidget {
               ListView.builder(
                 padding: EdgeInsets.zero,
                 shrinkWrap: true,
-                itemCount: model.registrants.length,
+                itemCount: model.attendees.length,
                 itemBuilder: (BuildContext context, int index) {
                   return CustomListTile(
                     key: Key(
                       '${AppLocalizations.of(context)!.strictTranslate("Attendee")}$index',
                     ),
                     index: index,
-                    type: TileType.user,
-                    userInfo: model.registrants[index],
-                    onTapUserInfo: () {},
+                    type: TileType.attendee,
+                    attendeeInfo: model.attendees[index],
+                    onTapAttendeeInfo: () {},
                   );
                 },
               ),
diff --git a/lib/widgets/custom_list_tile.dart b/lib/widgets/custom_list_tile.dart
index 26eb497368..d4d75bee5c 100644
--- a/lib/widgets/custom_list_tile.dart
+++ b/lib/widgets/custom_list_tile.dart
@@ -1,6 +1,6 @@
-// ignore_for_file: talawa_good_doc_comments, talawa_api_doc
 import 'package:flutter/material.dart';
 import 'package:talawa/enums/enums.dart';
+import 'package:talawa/models/events/event_model.dart';
 import 'package:talawa/models/options/options.dart';
 import 'package:talawa/models/organization/org_info.dart';
 import 'package:talawa/models/user/user_info.dart';
@@ -15,11 +15,13 @@ class CustomListTile extends StatelessWidget {
     required this.type,
     this.showIcon = false,
     this.orgInfo,
-    this.onTapOrgInfo,
     this.userInfo,
+    this.attendeeInfo,
+    this.option,
+    this.onTapOrgInfo,
     this.onTapUserInfo,
+    this.onTapAttendeeInfo,
     this.onTapOption,
-    this.option,
   }) : super(key: key);

   /// Index int of tiles.
@@ -34,6 +36,9 @@ class CustomListTile extends StatelessWidget {
   /// Object containing all the necessary info regarding the user.
   final User? userInfo;

+  /// Object containing all the necessary info regarding the Attendee.
+  final Attendee? attendeeInfo;
+
   /// Object containing all the necessary info regarding the options.
   final Options? option;

@@ -43,6 +48,9 @@ class CustomListTile extends StatelessWidget {
   /// Function to handle the tap on user info.
   final Function()? onTapUserInfo;

+  /// Function to handle the tap on attendee info.
+  final Function()? onTapAttendeeInfo;
+
   /// Function to handle the tap on org info.
   final Function(OrgInfo)? onTapOrgInfo;

@@ -51,13 +59,31 @@ class CustomListTile extends StatelessWidget {

   @override
   Widget build(BuildContext context) {
+    String text = '';
+    Function()? onTap;
+
+    switch (type) {
+      case TileType.org:
+        text = orgInfo!.name!;
+        onTap = () => onTapOrgInfo!(orgInfo!);
+        break;
+      case TileType.user:
+        text = '${userInfo!.firstName!} ${userInfo!.lastName!}';
+        onTap = onTapUserInfo;
+        break;
+      case TileType.attendee:
+        text = '${attendeeInfo!.firstName!} ${attendeeInfo!.lastName!}';
+        onTap = onTapAttendeeInfo;
+        break;
+      default:
+        text = option!.title;
+        onTap = onTapOption;
+        break;
+    }
+
     return InkWell(
       // checking whether the tapped tile is of user or org.
-      onTap: () => type == TileType.org
-          ? onTapOrgInfo!(orgInfo!)
-          : type == TileType.user
-              ? onTapUserInfo!()
-              : onTapOption!(),
+      onTap: onTap,
       child: Padding(
         padding: const EdgeInsets.all(18.0),
         child: Container(
@@ -75,17 +101,13 @@ class CustomListTile extends StatelessWidget {
                     horizontal: 25,
                   ),
                   child: Text(
-                    type == TileType.org
-                        ? orgInfo!.name!
-                        : type == TileType.user
-                            ? '${userInfo!.firstName!} ${userInfo!.lastName!}'
-                            : option!.title,
+                    text,
                     style: type == TileType.org
                         ? Theme.of(context)
                             .textTheme
                             .headlineSmall!
                             .copyWith(fontSize: 18, color: Colors.black)
-                        : type == TileType.user
+                        : type == TileType.user || type == TileType.attendee
                             ? Theme.of(context)
                                 .textTheme
                                 .titleLarge!
@@ -107,7 +129,7 @@ class CustomListTile extends StatelessWidget {
               ),
               Expanded(
                 flex: 1,
-                child: type != TileType.user
+                child: type != TileType.user && type != TileType.attendee
                     ? type == TileType.org
                         ? Icon(
                             !orgInfo!.userRegistrationRequired!
diff --git a/lib/widgets/event_card.dart b/lib/widgets/event_card.dart
index b6566c53e0..676e24b6a1 100644
--- a/lib/widgets/event_card.dart
+++ b/lib/widgets/event_card.dart
@@ -247,15 +247,10 @@ class EventCard extends StatelessWidget {
                           SizedBox(
                             width: SizeConfig.screenWidth! * 0.013,
                           ),
-                          event.attendees != null
-                              ? Text(
-                                  event.attendees!,
-                                  style: Theme.of(context).textTheme.bodySmall,
-                                )
-                              : Text(
-                                  (event.registrants?.length ?? 0).toString(),
-                                  style: Theme.of(context).textTheme.bodySmall,
-                                ),
+                          Text(
+                            (event.attendees?.length ?? 0).toString(),
+                            style: Theme.of(context).textTheme.bodySmall,
+                          ),
                         ],
                       ),
                     ],

diff --git a/test/helpers/test_helpers.dart b/test/helpers/test_helpers.dart
index ee66b2ffb4..dfdae1de6c 100644
--- a/test/helpers/test_helpers.dart
+++ b/test/helpers/test_helpers.dart
@@ -1,8 +1,4 @@
-// ignore_for_file: talawa_api_doc
-// ignore_for_file: talawa_good_doc_comments
-
 import 'dart:async';
-
 import 'package:connectivity_plus/connectivity_plus.dart';
 import 'package:flutter/material.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
@@ -97,13 +93,26 @@ import 'test_helpers.mocks.dart';
     MockSpec<ImagePicker>(onMissingStub: OnMissingStub.returnDefault),
   ],
 )
+
+/// member1 represents a member of the organization.
 final User member1 = User(id: "testMem1");
+
+/// member2 represents a member of the organization.
 final User member2 = User(id: "testMem2");
+
+/// admin1 represents an admin of the organization.
 final User admin1 = User(id: "testAdmin1");
+
+/// admin2 represents an admin of the organization.
 final User admin2 = User(id: "testAdmin2");
+
+/// members represents a list of members of the organization.
 final List<User> members = [member1, member2];
+
+/// admins represents a list of admins of the organization.
 final List<User> admins = [admin1, admin2];

+/// fakeOrgInfo represents a mock organization.
 final fakeOrgInfo = OrgInfo(
   id: "XYZ",
   name: "Organization Name",
@@ -116,12 +125,26 @@ final fakeOrgInfo = OrgInfo(
   userRegistrationRequired: true,
 );

+/// `removeRegistrationIfExists` removes the registration of a service if it is already registered.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+///   None
 void _removeRegistrationIfExists<T extends Object>() {
   if (locator.isRegistered<T>()) {
     locator.unregister<T>();
   }
 }

+///  `getAndRegisterNavigationService` returns a mock instance of the `NavigationService` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `NavigationService`: A mock instance of the `NavigationService` class.
 NavigationService getAndRegisterNavigationService() {
   _removeRegistrationIfExists<NavigationService>();
   final service = MockNavigationService();
@@ -136,6 +159,13 @@ NavigationService getAndRegisterNavigationService() {
   return service;
 }

+/// `getAndRegisterOrganizationService` returns a mock instance of the `OrganizationService` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `OrganizationService`: A mock instance of the `OrganizationService` class.
 OrganizationService getAndRegisterOrganizationService() {
   _removeRegistrationIfExists<OrganizationService>();
   final service = MockOrganizationService();
@@ -160,6 +190,13 @@ OrganizationService getAndRegisterOrganizationService() {
   return service;
 }

+/// `getAndRegisterAppTheme` returns a mock instance of the `AppTheme` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `AppTheme`: A mock instance of the `AppTheme` class.
 AppTheme getAndRegisterAppTheme() {
   _removeRegistrationIfExists<AppTheme>();
   final service = MockAppTheme();
@@ -167,6 +204,13 @@ AppTheme getAndRegisterAppTheme() {
   return service;
 }

+/// `getAndRegisterCommentService` returns a mock instance of the `CommentService` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `CommentService`: A mock instance of the `CommentService` class.
 CommentService getAndRegisterCommentService() {
   _removeRegistrationIfExists<CommentService>();
   final service = MockCommentService();
@@ -174,6 +218,13 @@ CommentService getAndRegisterCommentService() {
   return service;
 }

+/// `getAndRegisterSessionManager` returns a mock instance of the `SessionManager` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `SessionManager`: A mock instance of the `SessionManager` class.
 SessionManager getAndRegisterSessionManager() {
   _removeRegistrationIfExists<SessionManager>();
   final service = MockSessionManger();
@@ -181,6 +232,13 @@ SessionManager getAndRegisterSessionManager() {
   return service;
 }

+/// `getAndRegisterChatService` returns a mock instance of the `ChatService` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `ChatService`: A mock instance of the `ChatService` class.
 ChatService getAndRegisterChatService() {
   _removeRegistrationIfExists<ChatService>();
   final service = MockChatService();
@@ -214,6 +272,13 @@ ChatService getAndRegisterChatService() {
   return service;
 }

+/// `getAndRegisterAppLanguage` returns a mock instance of the `AppLanguage` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `AppLanguage`: A mock instance of the `AppLanguage` class.
 AppLanguage getAndRegisterAppLanguage() {
   _removeRegistrationIfExists<AppLanguage>();
   final service = MockAppLanguage();
@@ -224,6 +289,13 @@ AppLanguage getAndRegisterAppLanguage() {
   return service;
 }

+/// `getAndRegisterGraphqlConfig` returns a mock instance of the `GraphqlConfig` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `GraphqlConfig`: A mock instance of the `GraphqlConfig` class.
 GraphqlConfig getAndRegisterGraphqlConfig() {
   _removeRegistrationIfExists<GraphqlConfig>();
   final service = MockGraphqlConfig();
@@ -261,6 +333,13 @@ GraphqlConfig getAndRegisterGraphqlConfig() {
   return service;
 }

+/// `getAndRegisterGraphQLClient` returns a mock instance of the `GraphQLClient` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `GraphQLClient`: A mock instance of the `GraphQLClient` class.
 GraphQLClient getAndRegisterGraphQLClient() {
   _removeRegistrationIfExists<GraphQLClient>();

@@ -312,6 +391,13 @@ GraphQLClient getAndRegisterGraphQLClient() {
   return service;
 }

+/// `getAndRegisterDatabaseMutationFunctions` returns a mock instance of the `DataBaseMutationFunctions` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `DataBaseMutationFunctions`: A mock instance of the `DataBaseMutationFunctions` class.
 DataBaseMutationFunctions getAndRegisterDatabaseMutationFunctions() {
   _removeRegistrationIfExists<DataBaseMutationFunctions>();
   final service = MockDataBaseMutationFunctions();
@@ -325,6 +411,13 @@ DataBaseMutationFunctions getAndRegisterDatabaseMutationFunctions() {
   return service;
 }

+/// `getAndRegisterUserConfig` returns a mock instance of the `UserConfig` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `UserConfig`: A mock instance of the `UserConfig` class.
 UserConfig getAndRegisterUserConfig() {
   _removeRegistrationIfExists<UserConfig>();
   final service = MockUserConfig();
@@ -408,6 +501,13 @@ UserConfig getAndRegisterUserConfig() {
   return service;
 }

+/// `getAndRegisterPostService` returns a mock instance of the `PostService` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `PostService`: A mock instance of the `PostService` class.
 PostService getAndRegisterPostService() {
   _removeRegistrationIfExists<PostService>();
   final service = MockPostService();
@@ -427,6 +527,13 @@ PostService getAndRegisterPostService() {
   return service;
 }

+/// `getAndRegisterMultiMediaPickerService` returns a mock instance of the `MultiMediaPickerService` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `MultiMediaPickerService`: A mock instance of the `MultiMediaPickerService` class.
 MultiMediaPickerService getAndRegisterMultiMediaPickerService() {
   _removeRegistrationIfExists<MultiMediaPickerService>();
   final service = MockMultiMediaPickerService();
@@ -434,6 +541,13 @@ MultiMediaPickerService getAndRegisterMultiMediaPickerService() {
   return service;
 }

+/// `getAndRegisterImageCropper` returns a mock instance of the `ImageCropper` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `ImageCropper`: A mock instance of the `ImageCropper` class.
 ImageCropper getAndRegisterImageCropper() {
   _removeRegistrationIfExists<ImageCropper>();
   final service = MockImageCropper();
@@ -441,6 +555,13 @@ ImageCropper getAndRegisterImageCropper() {
   return service;
 }

+/// `getAndRegisterImageService` returns a mock instance of the `ImageService` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `ImageService`: A mock instance of the `ImageService` class.
 ImageService getAndRegisterImageService() {
   _removeRegistrationIfExists<ImageService>();
   final service = MockImageService();
@@ -448,6 +569,13 @@ ImageService getAndRegisterImageService() {
   return service;
 }

+/// `getAndRegisterImagePicker` returns a mock instance of the `ImagePicker` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `ImagePicker`: A mock instance of the `ImagePicker` class.
 ImagePicker getAndRegisterImagePicker() {
   _removeRegistrationIfExists<ImagePicker>();
   final service = MockImagePicker();
@@ -455,6 +583,13 @@ ImagePicker getAndRegisterImagePicker() {
   return service;
 }

+/// `getAndRegisterEventService` returns a mock instance of the `EventService` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `EventService`: A mock instance of the `EventService` class.
 EventService getAndRegisterEventService() {
   _removeRegistrationIfExists<EventService>();
   final service = MockEventService();
@@ -493,21 +628,19 @@ EventService getAndRegisterEventService() {
     ),
   );
   const data = {
-    'registrantsByEvent': [
+    'getEventAttendeesByEventId': [
       {
-        '_id': 'xzy1',
-        'firstName': 'Test',
-        'lastName': 'User',
+        'userId': 'xzy1',
       }
     ],
   };
-  when(service.fetchRegistrantsByEvent('1')).thenAnswer(
+  when(service.fetchAttendeesByEvent('1')).thenAnswer(
     (realInvocation) async => QueryResult(
       source: QueryResultSource.network,
       data: data,
       options: QueryOptions(
         document: gql(
-          EventQueries().registrantsByEvent('1'),
+          EventQueries().attendeesByEvent('1'),
         ),
       ),
     ),
@@ -517,6 +650,13 @@ EventService getAndRegisterEventService() {
   return service;
 }

+/// `getAndRegisterConnectivityService` returns a mock instance of the `Connectivity` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `Connectivity`: A mock instance of the `Connectivity` class.
 Connectivity getAndRegisterConnectivityService() {
   _removeRegistrationIfExists<Connectivity>();
   final service = MockConnectivity();
@@ -524,6 +664,15 @@ Connectivity getAndRegisterConnectivityService() {
   return service;
 }

+/// `getPostMockModel` returns a mock instance of the `Post` class.
+///
+/// **params**:
+/// * `sId`: represent the post id.
+/// * `description`: represent the post description.
+/// * `duration`: represent the post duration.
+///
+/// **returns**:
+/// * `Post`: A mock instance of the `Post` class.
 Post getPostMockModel({
   String sId = "PostID",
   String description = "TestDescription",
@@ -542,6 +691,13 @@ Post getPostMockModel({
   return postMock;
 }

+/// `getAndRegisterCreateEventModel` returns a mock instance of the `CreateEventViewModel` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `CreateEventViewModel`: A mock instance of the `CreateEventViewModel` class.
 CreateEventViewModel getAndRegisterCreateEventModel() {
   _removeRegistrationIfExists<CreateEventViewModel>();
   final cachedViewModel = MockCreateEventViewModel();
@@ -571,7 +727,6 @@ CreateEventViewModel getAndRegisterCreateEventModel() {
     id: "fakeUser1",
     firstName: 'r',
     lastName: 'p',
-    // image: 'www.image.com',
   );

   final mapType = {user1.id!: true};
@@ -581,14 +736,10 @@ CreateEventViewModel getAndRegisterCreateEventModel() {
     return [user1];
   });

-  //when(cachedViewModel.selectedAdmins).thenReturn([user2]);
   when(cachedViewModel.selectedMembers).thenReturn([user1]);
   when(cachedViewModel.orgMembersList).thenReturn([user1]);
-
   when(cachedViewModel.memberCheckedMap).thenReturn(mapType);
-
   when(cachedViewModel.isAllDay).thenReturn(true);
-
   when(cachedViewModel.eventStartTime).thenReturn(TimeOfDay.now());

   when(cachedViewModel.eventEndTime).thenReturn(
@@ -608,15 +759,17 @@ CreateEventViewModel getAndRegisterCreateEventModel() {
     print('called');
   });

-  // when(cachedViewModel.removeUserFromList(userId: "fakeUser2"))
-  //     .thenAnswer((realInvocation) async {
-  //   when(cachedViewModel.selectedAdmins).thenReturn([]);
-  // });
-
   locator.registerSingleton<CreateEventViewModel>(cachedViewModel);
   return cachedViewModel;
 }

+/// `getAndRegisterDirectChatViewModel` returns a mock instance of the `DirectChatViewModel` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `DirectChatViewModel`: A mock instance of the `DirectChatViewModel` class.
 DirectChatViewModel getAndRegisterDirectChatViewModel() {
   _removeRegistrationIfExists<DirectChatViewModel>();
   final cachedViewModel = MockDirectChatViewModel();
@@ -641,7 +794,6 @@ DirectChatViewModel getAndRegisterDirectChatViewModel() {
   when(cachedViewModel.name).thenReturn("XYZ");
   when(cachedViewModel.chats).thenReturn([chatListTileDataModel1]);
   when(cachedViewModel.chatMessagesByUser).thenReturn(messages);
-
   when(cachedViewModel.initialise()).thenAnswer((realInvocation) async {});
   when(cachedViewModel.sendMessageToDirectChat("XYZ", "Something"))
       .thenAnswer((realInvocation) async {
@@ -655,6 +807,13 @@ DirectChatViewModel getAndRegisterDirectChatViewModel() {
   return cachedViewModel;
 }

+/// `getAndRegisterExploreEventsViewModel` returns a mock instance of the `ExploreEventsViewModel` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `ExploreEventsViewModel`: A mock instance of the `ExploreEventsViewModel` class.
 ExploreEventsViewModel getAndRegisterExploreEventsViewModel() {
   _removeRegistrationIfExists<ExploreEventsViewModel>();
   final cachedViewModel = MockExploreEventsViewModel();
@@ -672,6 +831,13 @@ ExploreEventsViewModel getAndRegisterExploreEventsViewModel() {
   return cachedViewModel;
 }

+/// `getAndRegisterMainViewModel` returns a mock instance of the `MainScreenViewModel` class.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+/// * `MainScreenViewModel`: A mock instance of the `MainScreenViewModel` class.
 MainScreenViewModel getAndRegisterMainViewModel() {
   _removeRegistrationIfExists<MainScreenViewModel>();
   final cachedViewModel = MockMainScreenViewModel();
@@ -680,6 +846,13 @@ MainScreenViewModel getAndRegisterMainViewModel() {
   return cachedViewModel;
 }

+/// `registerServices` registers all the services required for the test.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+///   None
 void registerServices() {
   getAndRegisterNavigationService();
   getAndRegisterAppLanguage();
@@ -698,6 +871,13 @@ void registerServices() {
   getAndRegisterImagePicker();
 }

+/// `unregisterServices` unregisters all the services required for the test.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+///   None
 void unregisterServices() {
   locator.unregister<NavigationService>();
   locator.unregister<GraphqlConfig>();
@@ -713,6 +893,13 @@ void unregisterServices() {
   locator.unregister<ImagePicker>();
 }

+/// registerViewModels registers all the view models required for the test.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+///   None
 void registerViewModels() {
   locator.registerFactory(() => MainScreenViewModel());
   locator.registerFactory(() => OrganizationFeedViewModel());
@@ -732,6 +919,13 @@ void registerViewModels() {
   locator.registerFactory(() => SelectContactViewModel());
 }

+/// `unregisterViewModels` unregisters all the view models required for the test.
+///
+/// **params**:
+///   None
+///
+/// **returns**:
+///   None
 void unregisterViewModels() {
   locator.unregister<MainScreenViewModel>();
   locator.unregister<OrganizationFeedViewModel>();
diff --git a/test/helpers/test_helpers.mocks.dart b/test/helpers/test_helpers.mocks.dart
index eaac44810f..a62b803184 100644
--- a/test/helpers/test_helpers.mocks.dart
+++ b/test/helpers/test_helpers.mocks.dart
@@ -1158,10 +1158,10 @@ class MockEventService extends _i2.Mock implements _i11.EventService {
       ) as _i5.Future<void>);

   @override
-  _i5.Future<dynamic> fetchRegistrantsByEvent(String? eventId) =>
+  _i5.Future<dynamic> fetchAttendeesByEvent(String? eventId) =>
       (super.noSuchMethod(
         Invocation.method(
-          #fetchRegistrantsByEvent,
+          #fetchAttendeesByEvent,
           [eventId],
         ),
         returnValue: _i5.Future<dynamic>.value(),
diff --git a/test/model_tests/events/event_model_test.dart b/test/model_tests/events/event_model_test.dart
index 9fd1ca6a07..689472c0cf 100644
--- a/test/model_tests/events/event_model_test.dart
+++ b/test/model_tests/events/event_model_test.dart
@@ -1,6 +1,3 @@
-// ignore_for_file: talawa_api_doc
-// ignore_for_file: talawa_good_doc_comments
-
 import 'package:flutter_test/flutter_test.dart';
 import 'package:talawa/models/events/event_model.dart';
 import 'package:talawa/models/organization/org_info.dart';
@@ -23,7 +20,6 @@ void main() {
         id: '12',
         title: 'for test only',
         description: 'for test only',
-        attendees: 'for test only',
         location: 'for test only',
         latitude: 1233,
         longitude: 123,
@@ -39,7 +35,14 @@ void main() {
         isRegisterable: true,
         organization: OrgInfo(admins: users),
         admins: users,
-        registrants: users,
+        attendees: [
+          Attendee(
+            id: "attendee1",
+            firstName: "firstName1",
+            lastName: "lastName1",
+            image: null,
+          ),
+        ],
       );

       final eventJson = {
@@ -52,7 +55,6 @@ void main() {
         '_id': '12',
         'title': 'for test only',
         'description': 'for test only',
-        'attendees': 'for test only',
         'location': 'for test only',
         'latitude': 1233.00,
         'longitude': 123.00,
@@ -88,23 +90,13 @@ void main() {
             'email': 'test@test.com',
           },
         ],
-        'registrants': [
-          <String, dynamic>{
-            'user': {
-              'id': '123',
-              'firstName': 'Ayush',
-              'lastName': 'Chaudhary',
-              'email': 'test@test.com',
-            },
-          },
-          <String, dynamic>{
-            'user': {
-              'id': '123',
-              'firstName': 'Aykkush',
-              'lastName': 'Chaudhary',
-              'email': 'test@test.com',
-            },
-          },
+        'attendees': [
+          Attendee(
+            id: "attendee1",
+            firstName: "firstName1",
+            lastName: "lastName1",
+            image: null,
+          ).toJson(),
         ],
       };
       final eventFromJson = Event.fromJson(eventJson);
@@ -116,7 +108,16 @@ void main() {
       expect(event.title, eventFromJson.title);
       expect(event.id, eventFromJson.id);
       expect(event.description, eventFromJson.description);
-      expect(event.attendees, eventFromJson.attendees);
+      expect(event.attendees?[0].id, eventFromJson.attendees?[0].id);
+      expect(
+        event.attendees?[0].firstName,
+        eventFromJson.attendees?[0].firstName,
+      );
+      expect(
+        event.attendees?[0].lastName,
+        eventFromJson.attendees?[0].lastName,
+      );
+      expect(event.attendees?[0].image, eventFromJson.attendees?[0].image);
       expect(event.location, eventFromJson.location);
       expect(event.latitude, eventFromJson.latitude);
       expect(event.longitude, eventFromJson.longitude);
diff --git a/test/service_tests/event_service_test.dart b/test/service_tests/event_service_test.dart
index 0d8502de41..5546bfa246 100644
--- a/test/service_tests/event_service_test.dart
+++ b/test/service_tests/event_service_test.dart
@@ -101,24 +101,24 @@ void main() {
       await services.registerForAnEvent('eventId');
     });

-    test('Test fetchRegistrantsByEvent method', () async {
+    test('Test fetchAttendeesByEvent method', () async {
       final dataBaseMutationFunctions = locator<DataBaseMutationFunctions>();
       const query = '';
       when(
         dataBaseMutationFunctions.gqlAuthQuery(
-          EventQueries().registrantsByEvent('eventId'),
+          EventQueries().attendeesByEvent('eventId'),
         ),
       ).thenAnswer(
         (realInvocation) async => QueryResult(
           options: QueryOptions(document: gql(query)),
           data: {
-            'registrant': {'_id': 'registrantId', 'name': 'name'},
+            'getEventAttendeesByEventId': {'userId': 'userId'},
           },
           source: QueryResultSource.network,
         ),
       );
       final services = EventService();
-      services.fetchRegistrantsByEvent('eventId');
+      services.fetchAttendeesByEvent('eventId');
     });

     test('Test getEvents method', () async {
@@ -133,12 +133,11 @@ void main() {
         (realInvocation) async => QueryResult(
           options: QueryOptions(document: gql(query)),
           data: {
-            'eventsByOrganization': [
+            'eventsByOrganizationConnection': [
               {
                 "_id": "1234567890",
                 "title": "Sample Event",
                 "description": "This is a sample event description.",
-                "attendees": "John Doe, Jane Smith",
                 "location": "Sample Location",
                 "longitude": -73.935242,
                 "latitude": 40.73061,
@@ -162,7 +161,7 @@ void main() {
                   "name": "Organization Name",
                   "description": "Sample organization description.",
                 },
-                "registrants": [
+                "attendees": [
                   testDataNotFromOrg,
                 ],
               }
diff --git a/test/utils/event_queries_test.dart b/test/utils/event_queries_test.dart
index 811ff80d3f..95e867f636 100644
--- a/test/utils/event_queries_test.dart
+++ b/test/utils/event_queries_test.dart
@@ -6,33 +6,44 @@ void main() {
     test("Check if fetchOrgEvents works correctly", () {
       const data = """
       query {
-        eventsByOrganization(id: "sampleID"){
-          _id
-          organization {
-            _id
-            image
-          }
-          title
-          description
-          isPublic
-          isRegisterable
-          recurring
-          startDate
-          endDate
-          allDay
-          startTime
-          endTime
-          location
-          creator{
-            _id
-            firstName
-            lastName
-          }
-          admins {
-            firstName
-            lastName
-          }
-        }
+        eventsByOrganizationConnection(
+      where: {
+        organization_id: "sampleID"
+      }
+    ) {
+      _id
+      organization {
+        _id
+        image
+      }
+      title
+      description
+      isPublic
+      isRegisterable
+      recurring
+      startDate
+      endDate
+      allDay
+      startTime
+      endTime
+      location
+      creator {
+        _id
+        firstName
+        lastName
+      }
+      admins {
+        _id
+        firstName
+        lastName
+      }
+      attendees {
+        _id
+        firstName
+        lastName
+        image
+      }
+    }
       }
     """;

@@ -40,19 +51,21 @@ void main() {
       expect(fnData, data);
     });

-    test("Check if registrantsByEvents works correctly", () {
+    test("Check if attendeesByEvent works correctly", () {
       const data = '''
       query {
-        registrantsByEvent(id: "sampleID") {
-          _id
-          firstName
-          lastName
-          image
+        getEventAttendeesByEventId(eventId: "sampleID") {
+          eventId
+          userId
+          isRegistered
+          isInvited
+          isCheckedIn
+          isCheckedOut
         }
       }
     ''';

-      final fnData = EventQueries().registrantsByEvent("sampleID");
+      final fnData = EventQueries().attendeesByEvent("sampleID");
       expect(fnData, data);
     });

diff --git a/test/view_model_tests/after_auth_view_model_tests/event_view_model_tests/explore_events_view_model_test.dart b/test/view_model_tests/after_auth_view_model_tests/event_view_model_tests/explore_events_view_model_test.dart
index b95ba77042..7c157e70be 100644
--- a/test/view_model_tests/after_auth_view_model_tests/event_view_model_tests/explore_events_view_model_test.dart
+++ b/test/view_model_tests/after_auth_view_model_tests/event_view_model_tests/explore_events_view_model_test.dart
@@ -1,8 +1,4 @@
-// ignore_for_file: talawa_api_doc
-// ignore_for_file: talawa_good_doc_comments
-
 import 'dart:async';
-
 import 'package:flutter/material.dart';
 import 'package:flutter_localizations/flutter_localizations.dart';
 import 'package:flutter_test/flutter_test.dart';
@@ -72,7 +68,7 @@ void main() {
       id: "1",
       title: "fake_event_title",
       description: "fake_event_desc",
-      attendees: "20",
+      attendees: [Attendee(id: 'Test Id')],
       location: "fake_event_loc",
       recurring: false,
       startDate: '2024-01-14',
diff --git a/test/views/after_auth_screens/events/event_info_body_test.dart b/test/views/after_auth_screens/events/event_info_body_test.dart
index 420159678c..e1804b6cf8 100644
--- a/test/views/after_auth_screens/events/event_info_body_test.dart
+++ b/test/views/after_auth_screens/events/event_info_body_test.dart
@@ -1,6 +1,3 @@
-// ignore_for_file: talawa_api_doc
-// ignore_for_file: talawa_good_doc_comments
-
 import 'package:flutter/material.dart';
 import 'package:flutter_localizations/flutter_localizations.dart';
 import 'package:flutter_test/flutter_test.dart';
@@ -52,8 +49,9 @@ Event getTestEvent({
         lastName: "shaikh_admin_two",
       ),
     ],
-    registrants: [
-      User(
+    attendees: [
+      Attendee(
+        id: "1",
         firstName: "Test",
         lastName: "User",
       ),
diff --git a/test/views/after_auth_screens/profile/user_event_test.dart b/test/views/after_auth_screens/profile/user_event_test.dart
index b702046a88..0d39be40d8 100644
--- a/test/views/after_auth_screens/profile/user_event_test.dart
+++ b/test/views/after_auth_screens/profile/user_event_test.dart
@@ -138,7 +138,6 @@ void main() {
           id: 'a',
           title: 'Sample Event',
           description: 'This is a fake event description.',
-          attendees: 'John Doe, Jane Doe',
           location: 'City Park',
           latitude: 40.7128,
           longitude: -74.0060,
@@ -157,8 +156,8 @@ void main() {
           admins: [
             User(id: 'admin'),
           ],
-          registrants: [
-            User(id: 'registrant'),
+          attendees: [
+            Attendee(id: 'attendee1'),
           ],
         ),
       ]);
diff --git a/test/widget_tests/widgets/event_card_test.dart b/test/widget_tests/widgets/event_card_test.dart
index 774e5a48f0..202d20e18a 100644
--- a/test/widget_tests/widgets/event_card_test.dart
+++ b/test/widget_tests/widgets/event_card_test.dart
@@ -1,6 +1,3 @@
-// ignore_for_file: talawa_api_doc
-// ignore_for_file: talawa_good_doc_comments
-
 import 'package:flutter/material.dart';
 import 'package:flutter_localizations/flutter_localizations.dart';
 import 'package:flutter_test/flutter_test.dart';
@@ -25,7 +22,7 @@ Event getEvent({bool? isRegistered, bool isPublic = false}) {
     endTime: "08:15PM",
     isPublic: isPublic,
     isRegistered: isRegistered,
-    attendees: "96",
+    attendees: [Attendee(id: "attendee1")],
     creator: User(id: "ravidi"),
   );
 }
@@ -194,7 +191,7 @@ void main() {
           find.text("Testing for the Event Card Widget"),
           findsOneWidget,
         ); // event description
-        expect(find.text("96"), findsOneWidget);
+        expect(find.text("1"), findsOneWidget);
       });
     });
   });


Updated implementation of fetchOrgEvents

**What kind of change does this PR introduce?**

bugfix

**Issue Number:**

Fixes #2461

**Did you add tests for your changes?**

Yes (Updated existing tests)

**Snapshots/Videos:**

https://github.com/PalisadoesFoundation/talawa/assets/109027247/55c5d69e-c2fa-413f-a6d2-4c95ab273109

**Summary**

- Removed the reccurance field from fetchOrgEvents query, as is support was removed and neither is it used in UI,
- Updated the related tests for fetchOrgEvents query

**Does this PR introduce a breaking change?**

No

**Have you read the [contributing guide](https://github.com/PalisadoesFoundation/talawa/blob/master/CONTRIBUTING.md)?**

Yes

Events not rendering due older implementation of fetchOrgEvents query
**Describe the bug**

fetchOrgEvents query being used in app is still on older implementation which requires recurrance field. The reccurance field support was removed from Talawa API in https://github.com/PalisadoesFoundation/talawa-api/issues/2107

**To Reproduce**
Steps to reproduce the behavior:

1. Login to a organisation.
2. Open Events tab.
3. No events are rendered due to failing query.

**Expected behavior**
The `fetchOrgEvents` query must return events as a result, all the events of organization must be rendered.

**Actual behavior**
The `fetchOrgEvents` query fails, as a result no events are rendered.

**Screenshots**

![eventNotRendered](https://github.com/PalisadoesFoundation/talawa/assets/109027247/5adf8aa0-500a-491d-9024-b74053508a7d)

**Potential internship candidates**
Please read this if you are planning to apply for a Palisadoes Foundation internship https://github.com/PalisadoesFoundation/talawa/issues/359

diff --git a/lib/utils/event_queries.dart b/lib/utils/event_queries.dart
index d3f5ec5cb8..65bbe3d441 100644
--- a/lib/utils/event_queries.dart
+++ b/lib/utils/event_queries.dart
@@ -25,7 +25,6 @@ class EventQueries {
           isPublic
           isRegisterable
           recurring
-          recurrance
           startDate
           endDate
           allDay

diff --git a/test/utils/event_queries_test.dart b/test/utils/event_queries_test.dart
index cc0d370031..811ff80d3f 100644
--- a/test/utils/event_queries_test.dart
+++ b/test/utils/event_queries_test.dart
@@ -17,7 +17,6 @@ void main() {
           isPublic
           isRegisterable
           recurring
-          recurrance
           startDate
           endDate
           allDay