public void AddsUserToAirtableTable() { var expectedResponse = new AirtableResponseBuilder() .AddRecord( "rec4rdaOkafgV1Bqm", new DateTime(2019, 8, 22, 8, 25, 28) ).WithName("Team Performance: Team Agile-Lean maturity 'measures' in practice (at DfE and Hackney)") .WithHost("Barry") .WithCategories("Delivery") .WithTime(2019, 10, 18, 13, 0, 0) .WithDurationInSeconds(3600) .WithLocation("Everest, 2nd Foor") .WithSessionType("Seminar") .WithAttendees(new List <string>()) .Build(); airtableSimulator.SetUpFind(TABLE_ID, AIRTABLE_API_KEY, expectedResponse.Records[0], "ID000"); airtableSimulator.SetUpSave(TABLE_ID, AIRTABLE_API_KEY); AirtableGateway gateway = new AirtableGateway(AIRTABLE_URL, AIRTABLE_API_KEY, TABLE_ID); ToggleWorkshopAttendance attend = new ToggleWorkshopAttendance(gateway, gateway); ToggleWorkshopAttendanceRequest payload = new ToggleWorkshopAttendanceRequest(); payload.User = "******"; payload.WorkshopId = "ID000"; attend.Execute(payload); var requests = airtableSimulator.simulator.ReceivedRequests; Console.WriteLine(requests); var sentEmployee = requests[1].BodyAs <AirtableRequest>(); Assert.AreEqual("Maria", sentEmployee.Records[0].Fields.Attendees[0]); }
public void RemovesUserFromAirtableTable() { var expectedResponse = new AirtableResponseBuilder() .AddRecord( "rec4rdaOkafgV1Bqm", new DateTime(2019, 8, 22, 8, 25, 28) ).WithName("Team Performance: Team Agile-Lean maturity 'measures' in practice (at DfE and Hackney)") .WithHost("Barry") .WithCategories("Delivery") .WithTime(2019, 10, 18, 13, 0, 0) .WithDurationInSeconds(3600) .WithLocation("Everest, 2nd Foor") .WithSessionType("Seminar") .WithAttendees(new List <string>() { "Maria", "Kat" }) .Build(); airtable.SetUpFind(TABLE_ID, AIRTABLE_API_KEY, expectedResponse.Records[0], "ID000"); airtable.SetUpSave(TABLE_ID, AIRTABLE_API_KEY); ToggleWorkshopAttendance attend = new ToggleWorkshopAttendance(_gateway, _gateway); ToggleWorkshopAttendanceRequest payload = new ToggleWorkshopAttendanceRequest(); payload.User = "******"; payload.WorkshopId = "ID000"; attend.Execute(payload); var requests = airtable.simulator.ReceivedRequests; var sentUser = requests[1].BodyAs <AirtableRequest>(); Fields fields = sentUser.Records[0].Fields; fields.Attendees.Should().NotContain("Maria"); }
public void SaveNewAttendeeToWorkshopWithNoExistingAttendees() { FindSpyStub findSpyStub = new FindSpyStub(); findSpyStub.existingWorkshop = new Workshop() { attendees = new List <string>() }; ToggleWorkshopAttendance toggleAttendance = new ToggleWorkshopAttendance(_spy, findSpyStub); ToggleWorkshopAttendanceRequest payload = new ToggleWorkshopAttendanceRequest(); payload.User = "******"; payload.WorkshopId = "idNum3029"; var response = toggleAttendance.Execute(payload); _spy.lastSavedWorkshop.attendees[0].Should().Be("Bogdan"); findSpyStub.lastWorkShopId.Should().Be("idNum3029"); response.Should().Be("Confirmed"); }
public void SaveNewAttendeeToWorkshopWithNoExistingAttendees() { FindSpyStub findSpyStub = new FindSpyStub(); findSpyStub.existingWorkshop = new Workshop() { attendees = new List <string>() }; SpyGateway spy = new SpyGateway(); ToggleWorkshopAttendance toggleAttendance = new ToggleWorkshopAttendance(spy, findSpyStub); ToggleWorkshopAttendanceRequest payload = new ToggleWorkshopAttendanceRequest(); payload.User = "******"; payload.WorkshopId = "Seaweed on holiday"; var response = toggleAttendance.Execute(payload); Assert.AreEqual("Seaweed", spy.lastSavedWorkshop.attendees[0]); Assert.AreEqual("Confirmed", response); Assert.AreEqual("Seaweed on holiday", findSpyStub.lastWorkShopId); }
public void RemovesAttendeeIfAlreadyInWorkshopAttendees() { FindSpyStub findSpyStub = new FindSpyStub(); findSpyStub.existingWorkshop = new Workshop() { attendees = new List <string>() { "Cait", "Maria" } }; ToggleWorkshopAttendance toggleAttendance = new ToggleWorkshopAttendance(_spy, findSpyStub); ToggleWorkshopAttendanceRequest payload = new ToggleWorkshopAttendanceRequest(); payload.User = "******"; payload.WorkshopId = "16"; toggleAttendance.Execute(payload); _spy.lastSavedWorkshop.attendees.Should().NotContain("Maria"); findSpyStub.lastWorkShopId.Should().Be("16"); }
public void RemovesAttendeeIfAlreadyInWorkshopAttendees() { FindSpyStub findSpyStub = new FindSpyStub(); findSpyStub.existingWorkshop = new Workshop() { attendees = new List <string>() { "Cait", "Maria" } }; SpyGateway spy = new SpyGateway(); ToggleWorkshopAttendance toggleAttendance = new ToggleWorkshopAttendance(spy, findSpyStub); ToggleWorkshopAttendanceRequest payload = new ToggleWorkshopAttendanceRequest(); payload.User = "******"; payload.WorkshopId = "16"; toggleAttendance.Execute(payload); Assert.IsFalse(spy.lastSavedWorkshop.attendees.Contains("Maria")); Assert.AreEqual("16", findSpyStub.lastWorkShopId); }
public void SaveNewAttendeeToWorkshopWithExistingAttendees() { FindSpyStub findSpyStub = new FindSpyStub(); findSpyStub.existingWorkshop = new Workshop() { attendees = new List <string>() { "Cait" } }; SpyGateway spy = new SpyGateway(); ToggleWorkshopAttendance toggleAttendance = new ToggleWorkshopAttendance(spy, findSpyStub); ToggleWorkshopAttendanceRequest payload = new ToggleWorkshopAttendanceRequest(); payload.User = "******"; payload.WorkshopId = "16"; toggleAttendance.Execute(payload); Assert.AreEqual("Seaweed", spy.lastSavedWorkshop.attendees[1]); Assert.AreEqual("Cait", spy.lastSavedWorkshop.attendees[0]); Assert.AreEqual("16", findSpyStub.lastWorkShopId); }
public void SaveNewAttendeeToWorkshopWithExistingAttendees() { FindSpyStub findSpyStub = new FindSpyStub(); findSpyStub.existingWorkshop = new Workshop() { attendees = new List <string>() { "Cait" } }; ToggleWorkshopAttendance toggleAttendance = new ToggleWorkshopAttendance(_spy, findSpyStub); ToggleWorkshopAttendanceRequest payload = new ToggleWorkshopAttendanceRequest(); payload.User = "******"; payload.WorkshopId = "id16"; toggleAttendance.Execute(payload); var workshopAttendees = _spy.lastSavedWorkshop.attendees; workshopAttendees[0].Should().Be("Cait"); workshopAttendees[1].Should().Be("Bogdan"); findSpyStub.lastWorkShopId.Should().Be("id16"); }