|
1 | 1 | package tests |
2 | 2 |
|
3 | 3 | import ( |
| 4 | + "net/http" |
| 5 | + "net/http/httptest" |
4 | 6 | "testing" |
| 7 | + |
| 8 | + repMocks "cms.csesoc.unsw.edu.au/database/repositories/mocks" |
| 9 | + "cms.csesoc.unsw.edu.au/endpoints" |
| 10 | + "cms.csesoc.unsw.edu.au/endpoints/mocks" |
| 11 | + "cms.csesoc.unsw.edu.au/endpoints/models" |
| 12 | + "cms.csesoc.unsw.edu.au/internal/logger" |
| 13 | + "github.com/golang/mock/gomock" |
| 14 | + "github.com/google/uuid" |
| 15 | + "github.com/stretchr/testify/assert" |
5 | 16 | ) |
6 | 17 |
|
| 18 | +// Currently failing, because the websocket upgrade thing fails and will send back a 500 error. |
7 | 19 | func TestEditHandler(t *testing.T) { |
| 20 | + controller := gomock.NewController(t); |
| 21 | + assert := assert.New(t) |
| 22 | + defer controller.Finish() |
| 23 | + |
| 24 | + // Test Setup |
| 25 | + documentID := uuid.New() |
| 26 | + form := models.ValidEditRequest{DocumentID: documentID} |
| 27 | + responseRecorder := httptest.NewRecorder(); |
| 28 | + request := httptest.NewRequest("GET", "/editor", nil) |
| 29 | + |
| 30 | + //Make unpublishedvolumes |
| 31 | + mockUnpublishedVolume := repMocks.NewMockIUnpublishedVolumeRepository(controller) |
| 32 | + |
| 33 | + // Make logger |
| 34 | + log := logger.OpenLog("New Handler Log") |
| 35 | + mockDepFactory := mocks.NewMockDependencyFactory(controller) |
| 36 | + mockDepFactory.EXPECT().GetLogger().Return(log) |
| 37 | + mockDepFactory.EXPECT().GetUnpublishedVolumeRepo().Return(mockUnpublishedVolume) |
| 38 | + |
| 39 | + // Test execution |
| 40 | + response := endpoints.EditHandler(form, responseRecorder, request, mockDepFactory) |
| 41 | + assert.Equal(response.Status, http.StatusInternalServerError) |
8 | 42 | } |
9 | 43 |
|
| 44 | + |
0 commit comments